Browse Source

obs-outputs: Fix stuck "Connecting" with no key

With no stream key, no streams were actually being created.
This is a crazy configuration anyway, but it resulted in OBS getting
stuck in the "Connecting" state with no way to cancel.
We now just use the blank key and hope for the best.
Jess Mayo 10 years ago
parent
commit
cec88d2897
2 changed files with 8 additions and 8 deletions
  1. 3 0
      plugins/obs-outputs/librtmp/parseurl.c
  2. 5 8
      plugins/obs-outputs/librtmp/rtmp.c

+ 3 - 0
plugins/obs-outputs/librtmp/parseurl.c

@@ -177,6 +177,9 @@ void RTMP_ParsePlaypath(AVal *in, AVal *out)
     out->av_val = NULL;
     out->av_len = 0;
 
+    if (!playpath)
+        return;
+
     if ((*ppstart == '?') &&
             (temp=strstr(ppstart, "slist=")) != 0)
     {

+ 5 - 8
plugins/obs-outputs/librtmp/rtmp.c

@@ -633,16 +633,13 @@ int RTMP_SetupURL(RTMP *r, char *url)
 int RTMP_AddStream(RTMP *r, const char *playpath)
 {
     int idx = -1;
+    AVal pp = { (char*)playpath, playpath?(int)strlen(playpath):0 };
 
-    if (playpath && *playpath)
-    {
-        AVal pp = {(char*)playpath, (int)strlen(playpath)};
-        RTMP_ParsePlaypath(&pp, &r->Link.streams[r->Link.nStreams].playpath);
-        r->Link.streams[r->Link.nStreams].id = -1;
+    RTMP_ParsePlaypath(&pp, &r->Link.streams[r->Link.nStreams].playpath);
+    r->Link.streams[r->Link.nStreams].id = -1;
 
-        idx = r->Link.nStreams;
-        r->Link.nStreams++;
-    }
+    idx = r->Link.nStreams;
+    r->Link.nStreams++;
 
     return idx;
 }