obs-outputs: Log connections/disconnections
parent
633383bdaf
commit
89e02ca73c
|
@ -69,7 +69,7 @@ static const char *rtmp_stream_getname(const char *locale)
|
||||||
|
|
||||||
static void log_rtmp(int level, const char *format, va_list args)
|
static void log_rtmp(int level, const char *format, va_list args)
|
||||||
{
|
{
|
||||||
if (level > RTMP_LOGERROR)
|
if (level > RTMP_LOGWARNING)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
blogva(LOG_INFO, format, args);
|
blogva(LOG_INFO, format, args);
|
||||||
|
@ -111,6 +111,7 @@ static void *rtmp_stream_create(obs_data_t settings, obs_output_t output)
|
||||||
|
|
||||||
RTMP_Init(&stream->rtmp);
|
RTMP_Init(&stream->rtmp);
|
||||||
RTMP_LogSetCallback(log_rtmp);
|
RTMP_LogSetCallback(log_rtmp);
|
||||||
|
RTMP_LogSetLevel(RTMP_LOGWARNING);
|
||||||
|
|
||||||
if (pthread_mutex_init(&stream->packets_mutex, NULL) != 0)
|
if (pthread_mutex_init(&stream->packets_mutex, NULL) != 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
@ -229,8 +230,10 @@ static void *send_thread(void *data)
|
||||||
if (!disconnected && !send_remaining_packets(stream))
|
if (!disconnected && !send_remaining_packets(stream))
|
||||||
disconnected = true;
|
disconnected = true;
|
||||||
|
|
||||||
if (disconnected)
|
if (disconnected) {
|
||||||
|
blog(LOG_INFO, "Disconnected from %s", stream->path.array);
|
||||||
free_packets(stream);
|
free_packets(stream);
|
||||||
|
}
|
||||||
|
|
||||||
if (os_event_try(stream->stop_event) == EAGAIN) {
|
if (os_event_try(stream->stop_event) == EAGAIN) {
|
||||||
pthread_detach(stream->send_thread);
|
pthread_detach(stream->send_thread);
|
||||||
|
@ -356,6 +359,8 @@ static int init_send(struct rtmp_stream *stream)
|
||||||
static int try_connect(struct rtmp_stream *stream)
|
static int try_connect(struct rtmp_stream *stream)
|
||||||
{
|
{
|
||||||
#ifndef FILE_TEST
|
#ifndef FILE_TEST
|
||||||
|
blog(LOG_INFO, "Connecting to RTMP URL %s...", stream->path.array);
|
||||||
|
|
||||||
if (!RTMP_SetupURL2(&stream->rtmp, stream->path.array,
|
if (!RTMP_SetupURL2(&stream->rtmp, stream->path.array,
|
||||||
stream->key.array))
|
stream->key.array))
|
||||||
return OBS_OUTPUT_BAD_PATH;
|
return OBS_OUTPUT_BAD_PATH;
|
||||||
|
@ -376,6 +381,8 @@ static int try_connect(struct rtmp_stream *stream)
|
||||||
return OBS_OUTPUT_CONNECT_FAILED;
|
return OBS_OUTPUT_CONNECT_FAILED;
|
||||||
if (!RTMP_ConnectStream(&stream->rtmp, 0))
|
if (!RTMP_ConnectStream(&stream->rtmp, 0))
|
||||||
return OBS_OUTPUT_INVALID_STREAM;
|
return OBS_OUTPUT_INVALID_STREAM;
|
||||||
|
|
||||||
|
blog(LOG_INFO, "Connection to %s successful", stream->path.array);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return init_send(stream);
|
return init_send(stream);
|
||||||
|
@ -386,8 +393,11 @@ static void *connect_thread(void *data)
|
||||||
struct rtmp_stream *stream = data;
|
struct rtmp_stream *stream = data;
|
||||||
int ret = try_connect(stream);
|
int ret = try_connect(stream);
|
||||||
|
|
||||||
if (ret != OBS_OUTPUT_SUCCESS)
|
if (ret != OBS_OUTPUT_SUCCESS) {
|
||||||
obs_output_signal_stop(stream->output, ret);
|
obs_output_signal_stop(stream->output, ret);
|
||||||
|
blog(LOG_INFO, "Connection to %s failed: %d",
|
||||||
|
stream->path.array, ret);
|
||||||
|
}
|
||||||
|
|
||||||
if (os_event_try(stream->stop_event) == EAGAIN)
|
if (os_event_try(stream->stop_event) == EAGAIN)
|
||||||
pthread_detach(stream->connect_thread);
|
pthread_detach(stream->connect_thread);
|
||||||
|
|
Loading…
Reference in New Issue