GNOME Bugzilla – Bug 533365
dvdlpcmdec no chainfunction
Last modified: 2008-05-16 02:51:48 UTC
Please describe the problem: I write a plugin named "myplugin" to finish source and demux function. it has 2 src pads: current_video and current_audio, audio caps = audio/x-lpcm, width=(int)16, rate=(int)48000, channels=(int)2, dynamic_range=(int)128, emphasis=(boolean)false, mute=(boolean)false, while i run the following command, a error occured: gst-launch-0.10 myplugin file=/home/everchen/Media/LPCM.mpg audiofmt=2 .current_audio ! queue ! dvdlpcmdec ! audioconvert ! osssink error information: /pipeline0/myplugin0.current_audio: caps = audio/x-lpcm, width=(int)16, rate=(int)48000, channels=(int)2, dynamic_range=(int)128, emphasis=(boolean)false, mute=(boolean)false pipeline0/dvdlpcmdec0:Internal GStreamer error: pad problem. Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer. Additional debug information: gstpad.c(3565): gst_pad_chain_unchecked (): /pipeline0/dvdlpcmdec0: push on pad dvdlpcmdec0:sink but it has no chainfunction ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Note: i can use dvddemux playback this LPCM.mpg, like this: gst-launch-0.10 filesrc location=/home/everchen/Media/LPCM.mpg ! dvddemux .current_audio ! queue ! dvdlpcmdec ! audioconvert ! osssink Can anyboday tell me why? Steps to reproduce: 1. 2. 3. Actual results: Expected results: Does this happen every time? Other information:
This sounds like a request for help with developing your plugin, rather than a bug report. Normally, you should use the mailing list for that purpose So, I'm closing it, but I'll also give you some explanation. dvdlpcmdec is a little unusual in how it's structured - it doesn't set the chain function until its setcaps function is called. Normally, it would have a chain function, but the chain function would return an error code in this case, so the result would be the same - the pipeline would shut down. In this case, the setcaps function hasn't been called, which means your plugin isn't setting caps on the buffers that it's pushing - that's a bug in your plugin, not in dvdlpcmdec.
Thanks, Michael. Can you tell me where can plugin developer discuss?