rtspmedia: emit "unprepared" if _prepare fails.
authorAlessandro Decina <alessandro.d@gmail.com>
Tue, 9 Mar 2010 09:27:38 +0000 (10:27 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Tue, 9 Mar 2010 09:27:38 +0000 (10:27 +0100)
Emit the unprepared signal if gst_rtsp_media_prepare fails so that the
media object is removed from its factory's cache.

gst/rtsp-server/rtsp-media.c

index b776045..593b1d4 100644 (file)
@@ -1410,16 +1410,17 @@ was_prepared:
     return TRUE;
   }
   /* ERRORS */
+is_reused:
+  {
+    GST_WARNING ("can not reuse media %p", media);
+    return FALSE;
+  }
 state_failed:
   {
     GST_WARNING ("failed to preroll pipeline");
     unlock_streams (media);
     gst_element_set_state (media->pipeline, GST_STATE_NULL);
-    return FALSE;
-  }
-is_reused:
-  {
-    GST_WARNING ("can not reuse media %p", media);
+    gst_rtsp_media_unprepare (media);
     return FALSE;
   }
 }