GNOME Bugzilla – Bug 347783
[PLUGIN-MOVE] GDP elements should be moved
Last modified: 2006-08-22 10:11:56 UTC
We want to move the GDP elements out of -bad. This is a bug tracking what needs to be done. General consensus right now seems to be that -base is appropriate, but that needs to be decided.
Problems that should be fixed before moving: depay: src ALWAYS pad with caps ANY - bad for decodebin? Also, category is wrong for decodebin, and is there a typefinder? Do we care? parent_class gets set by BOILERPLATE,no need to do it again. depay: line 352: typo, fix with s/and/an/. This is in a FIXME: shouldn't you fix it, or delete the FIXME? parent_class is already set by BOILERPLATE docs: in index.html, no description (likewise at top of individual pages) pages then have red <include></include> shown! This is presumably an error somewhere, I haven't investigated further what the cause of these errors is.
- removed parent_class setting, thanks for spotting - depay: src ALWAYS with caps ANY is the correct thing to do - there will always be one stream out if one stream goes in, and we don't know the caps in advance. So if that doesn't work with playbin, I'm fine with that. On typefinding - I am undecided if we need it. I haven't needed it myself, and it may be too soon to actually have it as an "official" file format. Limited use too, since only one stream by design. (Maybe we could mux it in ogg ;)) - the FIXME is still there because I haven't been able to trigger that case that I know of, and I'm as yet unsure on how to handle it. Removing it is shuffling it under the carpet; I prefer to keep it there - unless you have a suggestion to reproduce or fix ? - docs - I'll check on your machine, not sure what happens there for your, works here.
Also, the tests re-define 'buffers' (which is defined from the gstcheck header file). I don't know why this compiles at all. It should be removed. Actually, I think it's pretty busted that it's in the header at all. It should probably be declared extern in the header, and actually defined somewhere in libgstcheck. But that's a problem unrelated to these new elements.
Commited that change, along with a bogus proxying of get/set caps in one of the elements. Please let me know if there's anything left. If not, comment with a READY-FOR-MOVE Thanks for reviewing !
Notice the issue with raw audio stored as gdp.
from a quick look at the plugins: - gdp depayloader: - could be smarter with events received on the sinkpad: - EOS: check if one was sent in the datastream, if not forward, else ignore. - tags: forward or discard? It currently discards. - seeking? either disable (false from seeking query, src event hanler returns FALSE) or implement something. - DISCONT flag should clear the adapter. - caps should be cleared in PAUSE->READY. - gdp payloader - seeking? I would disable this. (implement seeking query, return false from seekable, implement src event handler, return false from seek) - this->queue leaks
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_init), (gst_gdp_depay_finalize), (gst_gdp_depay_sink_event), (gst_gdp_depay_src_event), (gst_gdp_depay_chain), (gst_gdp_depay_change_state): Disable seeking. Small cleanups. Clear adapter on disconts. Clear caps when going to READY instead of NULL * gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init), (gst_gdp_pay_init), (gst_gdp_pay_finalize), (gst_gdp_pay_reset), (gst_gdp_buffer_from_caps), (gst_gdp_pay_buffer_from_buffer), (gst_gdp_buffer_from_event), (gst_gdp_pay_reset_streamheader), (gst_gdp_queue_buffer), (gst_gdp_pay_chain), (gst_gdp_pay_sink_event), (gst_gdp_pay_src_event), (gst_gdp_pay_change_state): * gst/gdp/gstgdppay.h: Reset payloader when going to READY. Fix leaked buffers in ->queue on push errors. Disable seeking. Code cleanups. Create packetizer in _init, free in _finalize.
committed, closing.