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 4547629a3..2b76534bf 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 @@ protected DataSource createCaptureDevice() } /* - * 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 025f990e3..cbe479641 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 void read(Buffer buffer) == -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 void read(Buffer buffer) == -1) throw new IOException("ioctl: request= VIDIOC_QBUF"); } + + buffer.setFlags(Buffer.FLAG_LIVE_DATA | Buffer.FLAG_SYSTEM_TIME); + buffer.setTimeStamp(timeStamp); } /**