After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 642595 - [camerabin2] audio recording support (sync audio and video)
[camerabin2] audio recording support (sync audio and video)
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal normal
: 0.10.23
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-02-17 17:45 UTC by Thiago Sousa Santos
Modified: 2012-04-27 22:52 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Thiago Sousa Santos 2011-02-17 17:45:53 UTC
It's been some days since I've started adding audio recording support for camerabin2, and after some discussions and tries I decided to file a bug to gather ideas on how to solve this.

Camerabin2 has a videosrc that is running from the start and feeding the viewfindersink. When the user decides to start a video capture, the audiosrc
is set to playing and starts pushing buffers into encodebin, as does the videosrc.

The problem is that the timestamps of the audiosrc starts at a non-zero value and encodebin plugs an audiorate element that fills the gap from 0 to the first timestamp with empty gap buffers and the muxer uses those.

If audiorate wouldn't do this, both video and audio would have the same timestamps getting to the muxer (in terms of running_time, at least) and we'd all be happy I think, but this gap filling is nice for other situations.

So the problem is how to make the muxer drop/ignore this initial GAP data or how to deal with this situation in general? Remember that some muxers (qt) can support segments.

Do we need some kind of 'stream/segment synchronization element'?
Should audiorate have a skip-to-first property just like videorate and how to set it from outside of encodebin?

Making the muxers drop buffers is dangerous because it is dropping encoded data.

So I ran out of more ideas for today, any help is appreciated here.

Btw, thanks to Win and Jan who already helped me a lot on understanding this issue :)
Comment 1 Olivier Crête 2011-02-17 18:31:52 UTC
You may want to look at the "skip-to-first" property that I added to videorate, I think you may want a similar solution here.
Comment 2 Thiago Sousa Santos 2012-04-27 22:52:18 UTC
This is working for some time already. Marking as obsolete.