From 81391c8998b19c8ed9b6c919af1c8f22da034cf8 Mon Sep 17 00:00:00 2001 From: martii Date: Sat, 24 May 2014 13:02:36 +0200 Subject: [PATCH 1/3] .gitignore: add 'compile' --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 4b14fb9..8a46597 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ /m4/ /autom4te.cache/ /aclocal.m4 +/compile /config.guess /config.h.in /config.h.in~ From 8ae08d022c9995f8f99899708c4583a2ce74259d Mon Sep 17 00:00:00 2001 From: martii Date: Sat, 24 May 2014 13:04:06 +0200 Subject: [PATCH 2/3] libeplayer3/input.cpp: filter duplicated messages --- libeplayer3/input.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/libeplayer3/input.cpp b/libeplayer3/input.cpp index c243d30..9ab4b76 100644 --- a/libeplayer3/input.cpp +++ b/libeplayer3/input.cpp @@ -262,10 +262,22 @@ bool Input::Play() return res; } +static std::string lastlog_message; +static unsigned int lastlog_repeats; + static void log_callback(void *ptr __attribute__ ((unused)), int lvl __attribute__ ((unused)), const char *format, va_list ap) { -// if (debug_level > 10) - vfprintf(stderr, format, ap); + char m[1024]; + if (sizeof(m) - 1 > (unsigned int) vsnprintf(m, sizeof(m), format, ap)) { + if (lastlog_message.compare(m) || lastlog_repeats > 999) { + if (lastlog_repeats) + fprintf(stderr, "last message repeated %u times\n", lastlog_repeats); + lastlog_message = m; + lastlog_repeats = 0; + fprintf(stderr, "%s", m); + } else + lastlog_repeats++; + } } bool Input::ReadSubtitle(const char *filename, const char *format, int pid) From 9ac03e1046547cf480e0d085d9263d119dda1468 Mon Sep 17 00:00:00 2001 From: martii Date: Sat, 24 May 2014 13:05:16 +0200 Subject: [PATCH 3/3] libeplayer3/writer/pcm.cpp: break potential infinite loop --- libeplayer3/writer/pcm.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libeplayer3/writer/pcm.cpp b/libeplayer3/writer/pcm.cpp index 12872e7..413b7d6 100644 --- a/libeplayer3/writer/pcm.cpp +++ b/libeplayer3/writer/pcm.cpp @@ -311,8 +311,11 @@ bool WriterPCM::Write(AVPacket *packet, int64_t pts) break; } + if (packet->data) + packet_size -= len; + if (!got_frame) { - if (!packet->data) + if (!packet->data || !packet_size) break; continue; } @@ -338,9 +341,6 @@ bool WriterPCM::Write(AVPacket *packet, int64_t pts) } pts = 0; - - if (packet->data) - packet_size -= len; } return !packet_size; }