+2004-01-12 Julien MOUTTE <julien@moutte.net>
+
+ * gst-libs/gst/play/gstplay.c: (gst_play_get_sink_element): When
+ analyzing the pads of an element the bin is mostly in READY state so
+ no caps were negotiated. This helper function needs to work with
+ _get_caps directly then. I was not freeing them though, added that to
+ fix the mem leak.
+
2004-01-12 Julien MOUTTE <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_chain):
}
else {
/* If not a src pad checking caps */
- const GstCaps *caps;
+ GstCaps *caps;
GstStructure *structure;
gboolean has_video_cap = FALSE;
gboolean has_audio_cap = FALSE;
- caps = gst_pad_get_negotiated_caps (GST_PAD (pads->data));
+ caps = gst_pad_get_caps (GST_PAD (pads->data));
structure = gst_caps_get_structure (caps, 0);
-
+
if (strcmp (gst_structure_get_name (structure),
"audio/x-raw-int") == 0) {
has_audio_cap = TRUE;
has_video_cap = TRUE;
}
+ gst_caps_free (caps);
+
switch (sink_type) {
case GST_PLAY_SINK_TYPE_AUDIO:
if (has_audio_cap)
}
else {
/* If not a src pad checking caps */
- const GstCaps *caps;
+ GstCaps *caps;
GstStructure *structure;
gboolean has_video_cap = FALSE;
gboolean has_audio_cap = FALSE;
- caps = gst_pad_get_negotiated_caps (GST_PAD (pads->data));
+ caps = gst_pad_get_caps (GST_PAD (pads->data));
structure = gst_caps_get_structure (caps, 0);
-
+
if (strcmp (gst_structure_get_name (structure),
"audio/x-raw-int") == 0) {
has_audio_cap = TRUE;
has_video_cap = TRUE;
}
+ gst_caps_free (caps);
+
switch (sink_type) {
case GST_PLAY_SINK_TYPE_AUDIO:
if (has_audio_cap)