[gstreamer-bugs] [Bug 624699] Add 'caps' property for playbin
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Jul 26 01:51:40 PDT 2010
https://bugzilla.gnome.org/show_bug.cgi?id=624699
GStreamer | gst-plugins-base | unspecified
--- Comment #5 from Zhao, Halley <halley.zhao at intel.com> 2010-07-26 08:51:36 UTC ---
There are two ways to run into expose_pad in gstdecodebin2.c
1. analyze_new_pad()
/* 1.a if autoplug-continue is FALSE or caps is a raw format, goto
pad_is_final */
if ((!apcontinue) || are_raw_caps (dbin, caps))
goto expose_pad;
2. connect_pad()
case GST_AUTOPLUG_SELECT_EXPOSE:
GST_DEBUG_OBJECT (dbin, "autoplug select requested expose");
/* expose the pad, we don't have the source element */
expose_pad (dbin, src, dpad, pad, caps, chain);
res = TRUE;
goto beach;
For the second case, video-sink set from app will not take effect. because in
gstplaybin2.c:
1. autoplug_select_cb() will set group->video_sink with sink by auto-plug
2. in no_more_pads_cb(), the above sink will take a higher priority than sink
set from app:
if (group->video_sink) {
GST_INFO_OBJECT (playbin, "setting custom video sink %" GST_PTR_FORMAT,
group->video_sink);
gst_play_sink_set_sink (playbin->playsink, GST_PLAY_SINK_TYPE_VIDEO,
group->video_sink);
} else {
GST_INFO_OBJECT (playbin, "setting default video sink %" GST_PTR_FORMAT,
playbin->video_sink);
gst_play_sink_set_sink (playbin->playsink, GST_PLAY_SINK_TYPE_VIDEO,
playbin->video_sink);
}
}
In summary:
without 'video/x-raw-va' in DEFAULT_RAW_CAPS, application can't change
'video_sink' property of playbin2.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the Gstreamer-bugs
mailing list