rtspsrc: find_stream_by_channel should ignore unconfigured streams
authorMatt Staples <staples255@gmail.com>
Tue, 10 Jan 2017 16:40:56 +0000 (09:40 -0700)
committerSebastian Dröge <sebastian@centricular.com>
Thu, 26 Jan 2017 13:31:47 +0000 (15:31 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=777101

gst/rtsp/gstrtspsrc.c

index 7725fe1..35bd8c6 100644 (file)
@@ -1339,7 +1339,10 @@ find_stream_by_id (GstRTSPStream * stream, gint * id)
 static gint
 find_stream_by_channel (GstRTSPStream * stream, gint * channel)
 {
-  if (stream->channel[0] == *channel || stream->channel[1] == *channel)
+  /* ignore unconfigured channels here (e.g., those that
+   * were explicitly skipped during SETUP) */
+  if ((stream->channelpad[0] != NULL) &&
+      (stream->channel[0] == *channel || stream->channel[1] == *channel))
     return 0;
 
   return -1;