From fd5c3ed8b6840eae1b14341b85db613226733178 Mon Sep 17 00:00:00 2001 From: Lyubomir Marinov Date: Sun, 16 May 2010 22:00:14 +0000 Subject: Disables the local video display for PullBufferDataSources until its problem with cloning by JMF is resolved. Provides timestamps for the captured data of the Video for Linux Two API Specification CaptureDevice. --- .../communicator/impl/neomedia/device/VideoMediaDeviceSession.java | 6 +++--- .../jmfext/media/protocol/video4linux2/Video4Linux2Stream.java | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'src/net/java') diff --git a/src/net/java/sip/communicator/impl/neomedia/device/VideoMediaDeviceSession.java b/src/net/java/sip/communicator/impl/neomedia/device/VideoMediaDeviceSession.java index 4547629..2b76534 100644 --- a/src/net/java/sip/communicator/impl/neomedia/device/VideoMediaDeviceSession.java +++ b/src/net/java/sip/communicator/impl/neomedia/device/VideoMediaDeviceSession.java @@ -186,10 +186,10 @@ public class VideoMediaDeviceSession } /* - * FIXME AbstractPullBufferCaptureDevice (or PullBufferDataSource?) - * does not seem to be correctly cloned by JMF. + * FIXME PullBufferDataSource does not seem to be correctly cloned + * by JMF. */ - if (!(captureDevice instanceof AbstractPullBufferCaptureDevice)) + if (!(captureDevice instanceof PullBufferDataSource)) { DataSource cloneableDataSource = Manager.createCloneableDataSource(captureDevice); diff --git a/src/net/java/sip/communicator/impl/neomedia/jmfext/media/protocol/video4linux2/Video4Linux2Stream.java b/src/net/java/sip/communicator/impl/neomedia/jmfext/media/protocol/video4linux2/Video4Linux2Stream.java index 025f990..cbe4796 100644 --- a/src/net/java/sip/communicator/impl/neomedia/jmfext/media/protocol/video4linux2/Video4Linux2Stream.java +++ b/src/net/java/sip/communicator/impl/neomedia/jmfext/media/protocol/video4linux2/Video4Linux2Stream.java @@ -423,6 +423,8 @@ public class Video4Linux2Stream == -1) throw new IOException("ioctl: request= VIDIOC_DQBUF"); + long timeStamp = System.nanoTime(); + try { int bytesused = Video4Linux2.v4l2_buffer_getBytesused(v4l2_buffer); @@ -444,6 +446,9 @@ public class Video4Linux2Stream == -1) throw new IOException("ioctl: request= VIDIOC_QBUF"); } + + buffer.setFlags(Buffer.FLAG_LIVE_DATA | Buffer.FLAG_SYSTEM_TIME); + buffer.setTimeStamp(timeStamp); } /** -- cgit v1.1