[mythtv-users] AFD: Unknown audio decoding error

George Nassas gnassas at mac.com
Fri Feb 27 13:50:01 UTC 2015


On Feb 26, 2015, at 11:49 PM, Jean-Yves Avenard <jyavenard at gmail.com> wrote:
> 
> On 27 February 2015 at 09:00, Tim Draper <veehexx at zoho.com> wrote:
>> running 'mythfrontend > fe.log' i'm seeing the following occur. sometimes it's a few times in as many minutes, other times it can be fine for 5mins and then show a decoding error.
>> 
>> 2015-02-26 21:39:27.432033 E  AFD: Unknown audio decoding error
>> 2015-02-26 21:40:33.072405 E  AFD: Unknown audio decoding error
>> 2015-02-26 21:41:24.112808 E  AFD: Unknown audio decoding error
>> 2015-02-26 21:41:34.414204 E  AFD: Unknown audio decoding error
> 
> Run mythfrontend in a gdb session, and when it crashes, type "bt" and
> create a bug with the output.

But, it isn’t crashing. The FE logs this and continues and it’s in a loop that succeeds hundreds, if not thousands, of times in between messages so stepping in a debugger is not ver productive. I would increase the logging.

There are only two places that issue that particular message:

libs/libmythtv/avformatdecoder.cpp:4707: LOG(VB_GENERAL, LOG_ERR, LOC + "Unknown audio decoding error");
libs/libmythtv/nuppeldecoder.cpp:1282: LOG(VB_GENERAL, LOG_ERR, LOC + "Unknown audio decoding error");

I would bet on avformatdecoder as the source and figure out what line in AvFormatDecoder::ProcessAudioPacket is failing and drill down from there. The message is written by the code that looks like this:

        if (ret < 0)
        {
            LOG(VB_GENERAL, LOG_ERR, LOC + "Unknown audio decoding error");
            return false;
        }

Essentially you’d go to every line that sets ret and, if it ends up < 0, log something that indicates the failure point. When you have that drill down into the function that triggers the error and add logging there & repeat until you know what’s going on. That’s how I would do it.

Debugging intermittent errors in real-time code isn’t much fun.

- George


More information about the mythtv-users mailing list