GNOME Bugzilla – Bug 705621
baseparse: Add a property to force processing
Last modified: 2013-08-14 13:44:26 UTC
In some specific cases (like transmuxing) we want to force the element to actually parse all incoming data even if the element deems it is not necessary. This property simply ignores requests from the element to enable passthrough mode which results in processing always being enabled.
Created attachment 251088 [details] [review] baseparse: Add a property to force processing
Review of attachment 251088 [details] [review]: ::: libs/gst/base/gstbaseparse.c @@ +790,3 @@ parse->priv->next_dts = 0; parse->priv->syncable = TRUE; + parse->priv->force_processing = FALSE; = DEFAULT_FORCE_PROCESSING @@ +3506,3 @@ + /* Only change passthrough mode if we're not forcing processing */ + if (!parse->priv->force_processing) + parse->priv->passthrough = passthrough; I think it's better to instead always store the passthrough value and everywhere where it is used use "!force_processing && passthrough"
Not opposed to adding this, but it seems more of a short-term hack or cop-out to me, because 90% of our users won't know that they need to enable this in certain situations. Would be great if we could come up with something to make this do the right thing automatically by default (maybe some kind of query that the muxer answers?)
The (rare) use-cases where you would need to activate it is when: * you don't trust out-of-bytestream information (caps, pts, dts, packetization, ...) and want to sanitize/validate the stream. * downstream elements won't be doing additional format-specific checks (muxers, payloaders, ...) Maybe a "stream-validation-required" query ? or something like that ? It wouldn't stop having this property for debugging purposes though. I just would like to have this before 1.2 is out.
Created attachment 251217 [details] [review] baseparse: Add a property to force processing In some specific cases (like transmuxing) we want to force the element to actually parse all incoming data even if the element deems it is not necessary. This property simply ignores requests from the element to enable passthrough mode which results in processing always being enabled.
> It wouldn't stop having this property for debugging purposes though. I just > would like to have this before 1.2 is out. Sure, go for it. Some obligatory bikeshedding about the name: should it be "force-processing" or maybe "force-parsing" or maybe "always-parse" or maybe "disable-passthrough" ?
Renamed it to disable-passthrough commit 3c49b5d23b833c6892810db97e58224e4a153db3 Author: Edward Hervey <edward@collabora.com> Date: Wed Aug 7 18:24:40 2013 +0200 baseparse: Add a property to disable passthrough In some specific cases (like transmuxing) we want to force the element to actually parse all incoming data even if the element deems it is not necessary. This property simply ignores requests from the element to enable passthrough mode which results in processing always being enabled. https://bugzilla.gnome.org/show_bug.cgi?id=705621
*** Bug 681819 has been marked as a duplicate of this bug. ***