[RFC PATCH 5/5] winegstreamer: Merge parser creation functions and wg_parser_connect.
Derek Lesho
dlesho at codeweavers.com
Thu Sep 2 11:06:57 CDT 2021
So I've thought about this patch some more, and since the goal here is
to make adding push-mode support more streamlined, I'm thinking that a
bigger rework than this would be preferred. In the current patch, we
simply merge _create and _connect, having the read thread spin until the
parser is ready (just like previously it spinned until sink_connect was
true). However, in push mode, we need to return from the creation
function and move on to ::ProcessInput and ::ProcessOutput, so maybe it
would be a better idea to have _create() handle everything to
gst_element_set_state(pipeline, PAUSED), and restructure other functions
(i.e. get_stream_count, get_stream, get_stream_duration) to block on the
corresponding step of initialization.
This would keep the pull mode functions fundamentally the same, since
they query for all this data right after the parser is initialized, but
allow push-mode transforms to yield control to the consumer of the
transform when gstreamer wants data.
I'm going to start work on this now, but if there are any better ideas,
I'd love to hear them.
More information about the wine-devel
mailing list