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 533365 - dvdlpcmdec no chainfunction
dvdlpcmdec no chainfunction
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
0.10.15
Other All
: Normal blocker
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-05-16 02:41 UTC by EverChen
Modified: 2008-05-16 02:51 UTC
See Also:
GNOME target: ---
GNOME version: 2.19/2.20



Description EverChen 2008-05-16 02:41:45 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:
Comment 1 Michael Smith 2008-05-16 02:48:32 UTC
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.
Comment 2 EverChen 2008-05-16 02:51:48 UTC
Thanks, Michael.
Can you tell me where can plugin developer discuss?