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 144436 - opt / oggmux problem (endless interrupt event loop)
opt / oggmux problem (endless interrupt event loop)
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins
git master
Other Linux
: Normal normal
: 0.8.6
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2004-06-15 16:43 UTC by Tim-Philipp Müller
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
debug output (128.28 KB, application/x-bzip2)
2004-06-15 16:45 UTC, Tim-Philipp Müller
  Details
debug output with spider (390.06 KB, application/x-bzip2)
2004-07-27 09:57 UTC, Tim-Philipp Müller
  Details
fix for interrupt event handling (2.62 KB, patch)
2004-11-06 23:16 UTC, Ronald Bultje
none Details | Review

Description Tim-Philipp Müller 2004-06-15 16:43:51 UTC
Pipeline: 
 
   gst-launch-0.8 filesrc location="out.wav" ! typefind ! spider ! 
audioconvert ! rawvorbisenc quality=0.8 ! oggmux ! filesink location=foo.ogg 
 
Runs forever, never writes a single byte to foo.ogg. This used to work a 
couple of days ago. 
 
Works fine with basicgthread and entryomega scheduler (well, actually the 
vorbisenc segfaults with basicgthread when it gets the EOS, but that's another 
issue I suppose). 
 
--gst-debug-level=5 output attached. 
 
Cheers 
 -Tim
Comment 1 Tim-Philipp Müller 2004-06-15 16:45:21 UTC
Created attachment 28736 [details]
debug output
Comment 2 Tim-Philipp Müller 2004-06-15 23:53:25 UTC
I should add that the above pipeline generally works, even with opt, it just 
fails in a few cases. There's nothing special about the input stream of the 
cases where it fails though, as far as I can see. 
 
Cheers 
 -Tim 
 
Comment 3 Thomas Vander Stichele 2004-07-06 13:34:38 UTC
can you try and reproduce the problem without spider in the pipeline ?
Comment 4 Thomas Vander Stichele 2004-07-16 13:39:45 UTC
Tim, ping ?
Comment 5 Tim-Philipp Müller 2004-07-17 12:11:39 UTC
Sorry, I've just moved home and only got my internet connectivity back 
yesterday. 
 
If I remember correctly, I was able to reproduce the problem without spider. 
Will re-check properly and provide logs on Monday if I don't forget. 
 
Cheers 
 -Tim 
 
Comment 6 Tim-Philipp Müller 2004-07-27 09:42:20 UTC
I know why I used spider. With a pipeline like 
 
     gst-launch-0.8 filesrc location=lj.wav ! wavparse ! audioconvert ! 
rawvorbisenc quality=0.8 ! oggmux ! filesink location=lj.ogg 
 
I used to get something like: 
 
RUNNING pipeline ... 
ERROR (0x8050948 - 302988:39:28.190238000)    audioconvert(10879)  
gstaudioconvert.c(261):gst_audio_convert_chain:<audioconvert0> Sink pad 
(connected to wavparse0:src) not negotiated before chain function 
ERROR: from element /pipeline0/audioconvert0: Internal GStreamer error: 
negotiation problem.  File a bug. 
Additional debug info: 
gstaudioconvert.c(261): gst_audio_convert_chain: /pipeline0/audioconvert0: 
Sink pad (connected to wavparse0:src) not negotiated before chain function 
 
With spider I got it working back then. 
 
 
 
With current CVS, things work fine using something like: 
 
   gst-launch-0.8 filesrc location=lj.wav ! wavparse ! audioconvert ! 
rawvorbisenc quality=0.8 ! oggmux ! filesink location=lj.ogg 
 
which used to fail in the past. However, now things fail using spider :) 
 
Cheers  
 -Tim 
 
Comment 7 Tim-Philipp Müller 2004-07-27 09:57:40 UTC
Created attachment 29932 [details]
debug output with spider

Attached the debug output for the following pipeline:

 gst-launch-0.8 -v filesrc location=lj.wav ! spider ! audioconvert !
rawvorbisenc quality=0.8 ! oggmux ! fakesink


Here's the short output when running the pipeline with -v

RUNNING pipeline ...
/pipeline0/filesrc0.src: active = TRUE
/pipeline0/filesrc0.src: caps = application/octet-stream
/pipeline0/spider0/sink_ident.sink: caps = application/octet-stream
/pipeline0/spider0/sink_ident.sink: active = TRUE
/pipeline0/spider0/sink_ident.src: active = TRUE
/pipeline0/spider0/src_0.sink: active = TRUE
/pipeline0/spider0/src_0.src: active = TRUE
/pipeline0/audioconvert0.sink: active = TRUE
/pipeline0/audioconvert0.src: active = TRUE
/pipeline0/vorbisenc0.sink: active = TRUE
/pipeline0/vorbisenc0.src: active = TRUE
/pipeline0/vorbisenc0.src: caps = audio/x-vorbis
/pipeline0/oggmux0.sink_787819414: caps = audio/x-vorbis
/pipeline0/oggmux0.src: active = TRUE
/pipeline0/oggmux0.sink_787819414: active = TRUE
/pipeline0/oggmux0.src: caps = application/ogg
/pipeline0/fakesink0.sink: caps = application/ogg
/pipeline0/fakesink0.sink: active = TRUE
/pipeline0/fakesink0: last-message = "chain   ******* (fakesink0:sink)E (type:
14) 0x805dac8"
/pipeline0/fakesink0: last-message = "chain   ******* (fakesink0:sink)E (type:
14) 0x805dac8"
/pipeline0/fakesink0: last-message = "chain   ******* (fakesink0:sink)E (type:
14) 0x805dac8"
/pipeline0/fakesink0: last-message = "chain   ******* (fakesink0:sink)E (type:
14) 0x805dac8"
/pipeline0/fakesink0: last-message = "chain   ******* (fakesink0:sink)E (type:
14) 0x805dac8"
/pipeline0/fakesink0: last-message = "chain   ******* (fakesink0:sink)E (type:
14) 0x805dac8"
/pipeline0/fakesink0: last-message = "chain   ******* (fakesink0:sink)E (type:
14) 0x805dac8"
/pipeline0/fakesink0: last-message = "chain   ******* (fakesink0:sink)E (type:
14) 0x805dac8"
/pipeline0/fakesink0: last-message = "chain   ******* (fakesink0:sink)E (type:
14) 0x805dac8"
/pipeline0/fakesink0: last-message = "chain   ******* (fakesink0:sink)E (type:
14) 0x805dac8"
/pipeline0/fakesink0: last-message = "chain   ******* (fakesink0:sink)E (type:
14) 0x805dac8"

 ...

Cheers 
 -Tim
Comment 8 Tim-Philipp Müller 2004-07-27 10:02:12 UTC
I forgot to add that the pipeline works fine with basicomega scheduler. 
 
Sorry for the flood. 
 
Cheers 
 -Tim 
 
Comment 9 Ronald Bultje 2004-11-06 23:16:20 UTC
Created attachment 33507 [details] [review]
fix for interrupt event handling

If your title is correct, then it's interrupt event handling, and it indeed
fails there. The attached patch fixes it. Please see if this improves it.
Comment 10 Tim-Philipp Müller 2004-11-07 13:48:56 UTC
Yes, your patch makes things work.  
 
Without the patch, I can still reproduce the reported mis-behaviour, using 
up-to-date gstreamer + plugins CVS HEAD. 
 
Cheers  
-Tim 
 
Comment 11 Ronald Bultje 2004-11-07 14:03:44 UTC
applied.