[mythtv] DVD dropping back to the frontend at the menu. PCM_DVD problem?
Paul Harrison
mythtv at sky.com
Thu Nov 22 13:46:16 UTC 2012
On 21/11/12 14:17, Neil Salstrom wrote:
> On Wed, Nov 21, 2012 at 6:00 AM, Paul Harrison <mythtv at sky.com> wrote:
>> I'm seeing something similar in master as well except there it causes a
>> segfault. The problem seems to be the audio is detected as having 0
>> channels. Do you know roughly when you first noticed this problem so I can
>> narrow down which commit broke things?
>>
>> Paul H.
>>
>> _______________________________________________
>> mythtv-dev mailing list
>> mythtv-dev at mythtv.org
>> http://www.mythtv.org/mailman/listinfo/mythtv-dev
> Hi Paul,
>
> I noticed it somewhere around the 6th or 7th of November.
> Unfortunately for me it's not a case of it working before and then
> seeing some sort of regression. I had never tried those disks before
> that time. If you think you've got a solution I'd happily apply some
> patches this weekend on my 0.26-fixes system.
>
> Thanks,
>
> Neil
>
Neil,
I have a workaround that you could try that at least allows the problem
DVDs to play for me but it could be considered a bit of a hack.
I've tested this in master and haven't seen any problems. The code in
0.26fixes is slightly different but I don't think there is anything that
should top this working assuming you are seeing the same problem as me
of cause.
In this file
http://code.mythtv.org/cgit/mythtv/tree/mythtv/libs/libmythtv/avformatdecoder.cpp?h=fixes%2F0.26#n2131
comment out lines 2131 to 2133 and add a continue; at the end so that
section of code looks like this:-
if (open_val < 0)
{
LOG(VB_GENERAL, LOG_ERR, LOC +
QString("Could not open codec 0x%1, id(%2) type(%3) "
"aborting. reason %4").arg((uint64_t)enc,0,16)
.arg(ff_codec_id_string(enc->codec_id))
.arg(ff_codec_type_string(enc->codec_type))
.arg(open_val));
//av_close_input_file(ic); // causes segfault
//ic = NULL;
//scanerror = -1;
//break;
continue;
}
Does anyone know why ScanStreams() stops the scan at this point rather
than continuing on to find a valid stream? ic is used after it is set to
NULL here so at the very least a NULL check need to be added to line
2208 in master to prevent a segfault.
http://code.mythtv.org/cgit/mythtv/tree/mythtv/libs/libmythtv/avformatdecoder.cpp?h=master#n2208
Paul H.
More information about the mythtv-dev
mailing list