Пример #1
0
        private void OnLogCallback(void *data, libvlc_log_level level, void *ctx, char *fmt, char *args)
        {
            fixed(char *buff = _buff._buff)
            {
                _msg = Marshal.PtrToStringAnsi(new IntPtr(buff), vsprintf(buff, fmt, args));
            }

            switch (level)
            {
            case libvlc_log_level.LIBVLC_DEBUG:
                //m_logger.Debug(_msg);
                break;

            case libvlc_log_level.LIBVLC_NOTICE:
                m_logger.Info(_msg);
                break;

            case libvlc_log_level.LIBVLC_WARNING:
                m_logger.Warning(_msg);
                break;

            case libvlc_log_level.LIBVLC_ERROR:
            default:
                m_logger.Error(_msg);
                break;
            }
            _msg = null;
        }
Пример #2
0
        private void OnLogCallback(void *data, libvlc_log_level level, void *ctx, char *fmt, char *args)
        {
            try
            {
                char * buffer = stackalloc char[BUFFER_SIZE];
                int    len    = vsprintf(buffer, fmt, args);
                string msg    = Marshal.PtrToStringAnsi(new IntPtr(buffer), len);

                switch (level)
                {
                case libvlc_log_level.LIBVLC_DEBUG:
                    m_logger.Debug(msg);
                    break;

                case libvlc_log_level.LIBVLC_NOTICE:
                    m_logger.Info(msg);
                    break;

                case libvlc_log_level.LIBVLC_WARNING:
                    m_logger.Warning(msg);
                    break;

                case libvlc_log_level.LIBVLC_ERROR:
                default:
                    m_logger.Error(msg);
                    break;
                }
            }
            catch (Exception ex)
            {
                m_logger.Error("Failed to handle log callback, reason : " + ex.Message);
            }
        }
Пример #3
0
        private void OnLogCallback(void* data, libvlc_log_level level, char* fmt, char* args)
        {
            try
            {
                char* buffer = stackalloc char[BUFFER_SIZE];
                int len = vsprintf(buffer, fmt, args);
                string msg = Marshal.PtrToStringAnsi(new IntPtr(buffer), len);

                switch (level)
                {
                    case libvlc_log_level.LIBVLC_DEBUG:
                        m_logger.Debug(msg);
                        break;
                    case libvlc_log_level.LIBVLC_NOTICE:
                        m_logger.Info(msg);
                        break;
                    case libvlc_log_level.LIBVLC_WARNING:
                        m_logger.Warning(msg);
                        break;
                    case libvlc_log_level.LIBVLC_ERROR:
                    default:
                        m_logger.Error(msg);
                        break;
                }
            }
            catch (Exception ex)
            {
                m_logger.Error("Failed to handle log callback, reason : " + ex.Message);
            }
        }
        private void NotifySubscribers(libvlc_log_level level, string msg)
        {
            LogMessage logMsg = new LogMessage((LogLevel)level, msg);

            lock (m_subscribers)
            {
                foreach (var item in m_subscribers)
                {
                    if (item.Filter == null)
                    {
                        item.Callback(logMsg);
                    }
                    else if (item.Filter(logMsg))
                    {
                        item.Callback(logMsg);
                    }
                }
            }
        }