Skip to content

Commit

Permalink
Add custom debug logger
Browse files Browse the repository at this point in the history
  • Loading branch information
phunkyfish committed Apr 16, 2020
1 parent e377281 commit f3472f1
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 3 deletions.
7 changes: 4 additions & 3 deletions src/RTMPStream.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
*
*/

#include "utils/Log.h"
#include "timer/Timer.h"

#include <iostream>
Expand Down Expand Up @@ -82,7 +83,7 @@ CInputStreamRTMP::CInputStreamRTMP(KODI_HANDLE instance)

bool CInputStreamRTMP::Open(INPUTSTREAM& props)
{
kodi::Log(ADDON_LOG_DEBUG, "InputStream.rtmp: OpenStream()");
rtmpstream::Log(ADDON_LOG_DEBUG, "InputStream.rtmp: OpenStream()");

m_session = RTMP_Alloc();
RTMP_Init(m_session);
Expand Down Expand Up @@ -162,7 +163,7 @@ int CInputStreamRTMP::ReadStream(uint8_t* buf, unsigned int size)
{
m_readPauseDetected = false;
RTMP_Pause(m_session, false);
kodi::Log(ADDON_LOG_DEBUG, "InputStream.rtmp: Read resume detected");
rtmpstream::Log(ADDON_LOG_DEBUG, "InputStream.rtmp: Read resume detected");
}

if (m_readPauseDetectTimer.IsRunning())
Expand All @@ -178,7 +179,7 @@ void CInputStreamRTMP::OnTimeout()
std::unique_lock<std::recursive_mutex> lock(m_critSection);
m_readPauseDetected = true;

kodi::Log(ADDON_LOG_DEBUG, "InputStream.rtmp: Read pause detected");
rtmpstream::Log(ADDON_LOG_DEBUG, "InputStream.rtmp: Read pause detected");

RTMP_Pause(m_session, true);
}
Expand Down
53 changes: 53 additions & 0 deletions src/utils/Log.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
* Copyright (C) 2020 Team Kodi (https://kodi.tv)
*
* SPDX-License-Identifier: GPL-2.0-or-later
* See LICENSE.md for more information.
*/

#pragma once

#include <kodi/General.h>

namespace rtmpstream
{

inline const char* kodiTranslateLogLevel(const AddonLog logLevel)
{
switch (logLevel)
{
case ADDON_LOG_DEBUG:
return "LOG_DEBUG: ";
case ADDON_LOG_INFO:
return "LOG_INFO: ";
case ADDON_LOG_NOTICE:
return "LOG_NOTICE: ";
case ADDON_LOG_WARNING:
return "LOG_WARNING: ";
case ADDON_LOG_ERROR:
return "LOG_ERROR: ";
case ADDON_LOG_SEVERE:
return "LOG_SEVERE: ";
case ADDON_LOG_FATAL:
return "LOG_FATAL: ";
default:
break;
}
return "LOG_UNKNOWN: ";
}

inline void Log(const AddonLog logLevel, const char* format, ...)
{
char buffer[16384];
va_list args;
va_start(args, format);
vsprintf(buffer, format, args);
va_end(args);

kodi::Log(logLevel, buffer);
#ifdef DEBUG
fprintf(stderr, "%s%s\n", kodiTranslateLogLevel(logLevel), buffer);
#endif
}

} /* namespace rtmpstream */

0 comments on commit f3472f1

Please sign in to comment.