فهرست منبع

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 سال پیش
والد
کامیت
cec88d2897
2فایلهای تغییر یافته به همراه8 افزوده شده و 8 حذف شده
  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;
 }