mmsh: dont close context on seeking failure
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 17 Jun 2013 20:03:36 +0000 (22:03 +0200)
committerCarl Eugen Hoyos <cehoyos@ag.or.at>
Sun, 7 Jul 2013 19:45:14 +0000 (21:45 +0200)
Fixes Ticket2581

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b4579a29c75e2968ede2ad002dd4a495dbfc883d)

libavformat/mmsh.c

index d6e3982..c71ecd6 100644 (file)
@@ -309,14 +309,16 @@ static int mmsh_open_internal(URLContext *h, const char *uri, int flags, int tim
     return 0;
 fail:
     av_freep(&stream_selection);
-    mmsh_close(h);
     av_dlog(NULL, "Connection failed with error %d\n", err);
     return err;
 }
 
 static int mmsh_open(URLContext *h, const char *uri, int flags)
 {
-    return mmsh_open_internal(h, uri, flags, 0, 0);
+    int ret = mmsh_open_internal(h, uri, flags, 0, 0);
+    if (ret < 0)
+        mmsh_close(h);
+    return ret;
 }
 
 static int handle_chunk_type(MMSHContext *mmsh)