mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
playbin3: Propagate sink context
When the playsink's sink is activated its state is set to READY but it remains unlinked. So, in order for decodebin3 to potentially reuse the context later on, the whole playbin3 needs to have it internally stored.
This commit is contained in:
parent
539a703b0b
commit
0a515acfa8
1 changed files with 7 additions and 0 deletions
|
@ -3691,6 +3691,13 @@ activate_sink_bus_handler (GstBus * bus, GstMessage * msg,
|
|||
gst_element_post_message (GST_ELEMENT_CAST (playbin), msg);
|
||||
else
|
||||
gst_message_unref (msg);
|
||||
} else if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_HAVE_CONTEXT) {
|
||||
GstContext *context;
|
||||
|
||||
gst_message_parse_have_context (msg, &context);
|
||||
gst_element_set_context (GST_ELEMENT_CAST (playbin), context);
|
||||
gst_context_unref (context);
|
||||
gst_element_post_message (GST_ELEMENT_CAST (playbin), msg);
|
||||
} else {
|
||||
gst_element_post_message (GST_ELEMENT_CAST (playbin), msg);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue