Re: [PATCH] [media] uvcvideo: Fix clock param realtime setting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Olivier,

On Friday 28 March 2014 17:27:08 Olivier Langlois wrote:
> On Fri, 2014-03-28 at 17:20 +0100, Laurent Pinchart wrote:
> > On Friday 28 March 2014 01:42:38 Olivier Langlois wrote:
> > > timestamps in v4l2 buffers returned to userspace are updated in
> > > uvc_video_clock_update() which uses timestamps fetched from
> > > uvc_video_clock_decode() by calling unconditionally ktime_get_ts().
> > > 
> > > Hence setting the module clock param to realtime have no effect
> > > before this patch.
> > > 
> > > This has been tested with ffmpeg:
> > > 
> > > ffmpeg -y -f v4l2 -input_format yuyv422 -video_size 640x480 -framerate
> > > 30 -i /dev/video0 \ -f alsa -acodec pcm_s16le -ar 16000 -ac 1 -i
> > > default \
> > > -c:v libx264 -preset ultrafast \
> > > -c:a libfdk_aac \
> > > out.mkv
> > > 
> > > and inspecting the v4l2 input starting timestamp.
> > > 
> > > Signed-off-by: Olivier Langlois <olivier@xxxxxxxxxxxxxx>
> > > Cc: Stable <stable@xxxxxxxxxxxxxxx>
> > 
> > Before applying this, I'm curious, do you have a use case for realtime
> > time stamps ?
> 
> Yes. ffmpeg uses wall clock time to create timestamps for audio packets from
> ALSA device.

OK. I suppose I shouldn't drop support for the realtime clock like I wanted to 
then :-)
 
> There is a bug in ffmpeg describing problems to synchronize audio and
> the video from a v4l2 webcam.
> 
> https://trac.ffmpeg.org/ticket/692
> 
> To workaround this issue, ffmpeg devs added a switch to convert back
> monotonic to realtime. From ffmpeg/libavdevice/v4l2.c:
> 
>   -ts                <int>        .D.... set type of timestamps for
> grabbed frames (from 0 to 2) (default 0)
>      default                      .D.... use timestamps from the kernel
>      abs                          .D.... use absolute timestamps (wall
> clock)
>      mono2abs                     .D.... force conversion from monotonic
> to absolute timestamps
> 
> If the v4l2 driver is able to send realtime ts, it is easier synchronize
> in userspace if all inputs use the same clock.

That might be a stupid question, but shouldn't ALSA use the monotonic clock 
instead ?

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]