obs-outputs: Log connections/disconnections

master
jp9000 2014-04-24 21:11:46 -07:00
parent 633383bdaf
commit 89e02ca73c
1 changed files with 13 additions and 3 deletions

View File

@ -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)
{
if (level > RTMP_LOGERROR)
if (level > RTMP_LOGWARNING)
return;
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_LogSetCallback(log_rtmp);
RTMP_LogSetLevel(RTMP_LOGWARNING);
if (pthread_mutex_init(&stream->packets_mutex, NULL) != 0)
goto fail;
@ -229,8 +230,10 @@ static void *send_thread(void *data)
if (!disconnected && !send_remaining_packets(stream))
disconnected = true;
if (disconnected)
if (disconnected) {
blog(LOG_INFO, "Disconnected from %s", stream->path.array);
free_packets(stream);
}
if (os_event_try(stream->stop_event) == EAGAIN) {
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)
{
#ifndef FILE_TEST
blog(LOG_INFO, "Connecting to RTMP URL %s...", stream->path.array);
if (!RTMP_SetupURL2(&stream->rtmp, stream->path.array,
stream->key.array))
return OBS_OUTPUT_BAD_PATH;
@ -376,6 +381,8 @@ static int try_connect(struct rtmp_stream *stream)
return OBS_OUTPUT_CONNECT_FAILED;
if (!RTMP_ConnectStream(&stream->rtmp, 0))
return OBS_OUTPUT_INVALID_STREAM;
blog(LOG_INFO, "Connection to %s successful", stream->path.array);
#endif
return init_send(stream);
@ -386,8 +393,11 @@ static void *connect_thread(void *data)
struct rtmp_stream *stream = data;
int ret = try_connect(stream);
if (ret != OBS_OUTPUT_SUCCESS)
if (ret != OBS_OUTPUT_SUCCESS) {
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)
pthread_detach(stream->connect_thread);