dvbbasebin: fix criticals when trying to cast a GstPad to a GstElement
authorTim-Philipp Müller <tim@centricular.net>
Wed, 14 Aug 2013 12:27:03 +0000 (13:27 +0100)
committerTim-Philipp Müller <tim@centricular.net>
Wed, 14 Aug 2013 12:29:02 +0000 (13:29 +0100)
message->src might be a GstPad. Observed during gst-inspect-1.0 -a

sys/dvb/dvbbasebin.c

index 94853ea..7f810ac 100644 (file)
@@ -779,7 +779,8 @@ dvb_base_bin_handle_message (GstBin * bin, GstMessage * message)
 
   dvbbasebin = GST_DVB_BASE_BIN (bin);
 
-  if (GST_ELEMENT (message->src) == GST_ELEMENT (dvbbasebin->tsparse)) {
+  /* note: message->src might be a GstPad, so use element cast w/o typecheck */
+  if (GST_ELEMENT_CAST (message->src) == GST_ELEMENT (dvbbasebin->tsparse)) {
     GstMpegTsSection *section = gst_message_parse_mpegts_section (message);
 
     if (section) {