[gst-devel] another "can't record twice" issue
Daniel Drake
dsd at laptop.org
Mon Aug 11 22:07:44 CEST 2008
Hi,
gstreamer-0.10.19
gstreamer-plugins-base-0.10.19
gstreamer-plugins-good-0.10.8
After fixing a bug in gstoggmux and improving my test program to
correctly shut down live recordings (as discussed on this list), my test
program works fine. http://dev.laptop.org/~dsd/20080811/recordtwice.txt
I am still unable to get my real application working properly, which is
a bit more complicated. The differences are:
- it uses v4l2src rather than videotestsrc
- it throws audio recording components into the pipeline, to record
live synchronised video *and* audio (to separate files)
- it includes videorate and videoscale elements in the video recording
pipeline
I have come up with a new test program which reproduces the bug.
http://dev.laptop.org/~dsd/20080811/record_twice_av.txt
Here is what it is supposed to do:
1. It launches and shows a live webcam feed on-screen
2. After 2 seconds, it (cleanly) stops the webcam feed, and adds
a videobin (a webcam video encoding bin) and an
audiobin (an ALSA .wav recording bin) to the pipeline
3. The modified pipeline is set to PLAYING, and video + audio is
live-recorded to separate files.
4. 7 seconds later, the pipeline is stopped (cleanly), the audiobin
and videobin are removed, and then the pipeline is played again
(in live-feed-to-screen mode, as in step 1)
5. 10 seconds later, we start recording video+audio again, as in step 2
6. 7 seconds later, the pipeline is stopped (cleanly) and we go
back to live-feed-to-screen mode as in 1.
The problem is that in step 5, the video freezes and nothing is written
to the files. In step 6, we never receive the EOS message on the
pipeline bus, so the pipeline is never stopped.
However the same exact code worked fine (recorded the files and did not
freeze) the first time around.
I don't even know where to start digging into this one, because I cannot
see any suspicious gstreamer debug messages. I also have found 3
separate ways of working around the issue (none of which are suitablke
for the real application or provide any indication of the whereabouts of
the bug):
1. Using videotestsrc instead of v4l2src makes the issue go away
2. Removing the videorate element from videobin makes the issue go away
3. Removing all audiobin related code (and just recording video) makes
the issue go away
Any ideas?
Would someone with a v4l2-capable webcam mind trying to reproduce the
issue? Just run this program and confirm that it doesn't freeze when
recording the 2nd video...
http://dev.laptop.org/~dsd/20080811/record_twice_av.txt
Thanks,
Daniel
More information about the gstreamer-devel
mailing list