summaryrefslogtreecommitdiffstats
path: root/gst-libs
diff options
context:
space:
mode:
authorJulien Moutte <julien@moutte.net>2004-01-12 16:48:48 +0000
committerJulien Moutte <julien@moutte.net>2004-01-12 16:48:48 +0000
commitbbf8b3e7230b95b196c6595e51850422bf52cf99 (patch)
treea5246226b18031fac1154ad57334d40093c2f237 /gst-libs
parent99eb383a85b1f07f0e10784ccd603dab975851ea (diff)
downloadgst-plugins-bad-bbf8b3e7230b95b196c6595e51850422bf52cf99.tar.gz
gst-plugins-bad-bbf8b3e7230b95b196c6595e51850422bf52cf99.tar.bz2
gst-plugins-bad-bbf8b3e7230b95b196c6595e51850422bf52cf99.zip
gst-libs/gst/play/gstplay.c: When analyzing the pads of an element the bin is mostly in READY state so no caps were n...
Original commit message from CVS: 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.
Diffstat (limited to 'gst-libs')
-rw-r--r--gst-libs/gst/play/gstplay.c8
-rw-r--r--gst-libs/gst/play/play.c8
2 files changed, 10 insertions, 6 deletions
diff --git a/gst-libs/gst/play/gstplay.c b/gst-libs/gst/play/gstplay.c
index bcc5c4d1..dee3f8ef 100644
--- a/gst-libs/gst/play/gstplay.c
+++ b/gst-libs/gst/play/gstplay.c
@@ -923,14 +923,14 @@ gst_play_get_sink_element (GstPlay *play,
}
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;
@@ -943,6 +943,8 @@ gst_play_get_sink_element (GstPlay *play,
has_video_cap = TRUE;
}
+ gst_caps_free (caps);
+
switch (sink_type) {
case GST_PLAY_SINK_TYPE_AUDIO:
if (has_audio_cap)
diff --git a/gst-libs/gst/play/play.c b/gst-libs/gst/play/play.c
index bcc5c4d1..dee3f8ef 100644
--- a/gst-libs/gst/play/play.c
+++ b/gst-libs/gst/play/play.c
@@ -923,14 +923,14 @@ gst_play_get_sink_element (GstPlay *play,
}
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;
@@ -943,6 +943,8 @@ gst_play_get_sink_element (GstPlay *play,
has_video_cap = TRUE;
}
+ gst_caps_free (caps);
+
switch (sink_type) {
case GST_PLAY_SINK_TYPE_AUDIO:
if (has_audio_cap)