GNOME Bugzilla – Bug 163841
[adder] capsnego on sink pads needs to be more robust
Last modified: 2008-10-17 09:07:50 UTC
gst-launch-0.8 filesrc location=file.mp3 ! mad ! adder ! alsasink filesrc location=file.mp3 ! mad ! adder0. (note that both filesrcs reference the same file) Currently it fails because the first mad gets a DELAYED from the other mad element and can't go on. The scheduling should make it possible to get the other part of the pipeline where negotiation can work.
*** This bug has been marked as a duplicate of 305658 ***
Ok, let's reformulate this pipeline/bug a bit: gst-launch-0.8 filesrc location=file.mp3 ! mad ! audioconvert ! adder ! alsasink filesrc location=file.ogg ! oggdemux ! vorbisdec ! adder0. This pipeline should work without adder ever allowing int input.
That works already, because the template of vorbisdec lacks integer output. Can you give a more specific explanation of something that happens and should not happen? E.g. samplerate choice or whatever.
Oh right. Then let's use something like this: gst-launch-0.8 filesrc location=48k.mp3 ! mad ! audioscale ! adder ! alsasink filesrc location=32k.mp3 ! mad ! adder0.
k = Hz? :) I get the point; will look...
Changing topic, changing component to gst-plugins-base, confirming. It seems to me this is just a problem with adder's capsnego algorithm. Feel free to revert/change any changes of course...
Adder enforce caps on other sink pads when setcaps is called. int audio and float audio with no converter just won't work.
*** Bug 344205 has been marked as a duplicate of this bug. ***
Created attachment 80853 [details] Prevent stream going silent on new chain Fixes the miscalculation of segment_start, but seems to result in dropped data when new chain encountered.
Sorry - please ignore that attachment. Wrong bug number. My humble apologies.
Is this bug still valid. Imho what one needs to do (and this is what works fine for me in buzztard) is: gst-launch \ filesrc location=file.mp3 ! mad ! audioconvert ! adder ! capsfilter ! alsasink \ filesrc location=file.ogg ! oggdemux ! vorbisdec ! audioconvert ! adder0. Use audioconvert for each input-branch and use capsfilter to tell which format is desides after adder. Adder needs all inputs to be using the same format.
yeah, closing, there is nothing interesting we can do improve adder.