mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
splitmuxsink: pad request fails for flvmux
splitmuxsink requests pad from element using pad template like "video_%u", "audio_%u" and "sink_%d". This is true for most of the muxers. But splitmuxsink not able to request pad to flvmux as flvmux has "audio" and "video" as pad templates. fix: splitmuxsink should fallback to "audio" and "video" when template not found. https://bugzilla.gnome.org/show_bug.cgi?id=774507
This commit is contained in:
parent
28995f3527
commit
11fd0e6120
1 changed files with 14 additions and 0 deletions
|
@ -1382,12 +1382,26 @@ gst_splitmux_sink_request_new_pad (GstElement * element,
|
||||||
mux_template =
|
mux_template =
|
||||||
gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS
|
gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS
|
||||||
(splitmux->muxer), "video_%u");
|
(splitmux->muxer), "video_%u");
|
||||||
|
|
||||||
|
/* Fallback to find sink pad templates named 'video' (flvmux) */
|
||||||
|
if (!mux_template) {
|
||||||
|
mux_template =
|
||||||
|
gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS
|
||||||
|
(splitmux->muxer), "video");
|
||||||
|
}
|
||||||
is_video = TRUE;
|
is_video = TRUE;
|
||||||
name = NULL;
|
name = NULL;
|
||||||
} else {
|
} else {
|
||||||
mux_template =
|
mux_template =
|
||||||
gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS
|
gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS
|
||||||
(splitmux->muxer), templ->name_template);
|
(splitmux->muxer), templ->name_template);
|
||||||
|
|
||||||
|
/* Fallback to find sink pad templates named 'audio' (flvmux) */
|
||||||
|
if (!mux_template) {
|
||||||
|
mux_template =
|
||||||
|
gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS
|
||||||
|
(splitmux->muxer), "audio");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (mux_template == NULL) {
|
if (mux_template == NULL) {
|
||||||
/* Fallback to find sink pad templates named 'sink_%d' (mpegtsmux) */
|
/* Fallback to find sink pad templates named 'sink_%d' (mpegtsmux) */
|
||||||
|
|
Loading…
Reference in a new issue