[mythtv] Question on FFmpeg crash

treblid treblid at gmail.com
Sat Dec 24 08:43:16 UTC 2016


I'm using trunk, from two FFmpeg resyncs back I'm starting to get frequent
crashes when playing by recorded TV from my two front ends (Ubuntu 16.04
and VDPAU).

Here's the gdb output of the offending thread:
Thread 92 (Thread 0x7ffe737fe700 (LWP 1580)):
#0  0x00007ffff3582428 in __GI_raise (sig=sig at entry=6) at
../sysdeps/unix/sysv/linux/raise.c:54
        resultvar = 0
        pid = 1157
        selftid = 1580
#1  0x00007ffff358402a in __GI_abort () at abort.c:89
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0xffffffffffffffff,
sa_sigaction = 0xffffffffffffffff}, sa_mask = {__val =
{18446744073709551615, 140737269622513, 2253, 0, 0, 1800, 457017096,
3396218261, 17484000, 0, 0, 1, 1, 140737351601424, 1793, 1}}, sa_flags =
-219168849, sa_restorer = 0x7ffe737fd6c0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007ffff2f03e9c in ff_gen_search (s=0x129fd20, stream_index=0,
target_ts=3396218261, pos_min=457017096, pos_max=457017096,
pos_limit=457017276, ts_min=3396218261, ts_max=3396218261, flags=0,
ts_ret=0x7ffe737fd7f8, read_timestamp=0x7ffff2e44315 <mpegts_get_dts>) at
libavformat/utils.c:2253
        pos = 457017096
        ts = 3396218261
        start_pos = 457017277
        no_change = 0
        ret = 0


The problem is at libavformat/utils.c:2053,
    av_assert0(pos_limit <= pos_max);

Changing that line to:
    if (pos_limit >  pos_max) return -1;

And I havn't had a crash in a week. FF seeking appears to be
faster/smoother, and stopping the FF is now stopping at the right instant I
want it.

Can the devs who are more experienced in FFmpeg device a better fix? Or if
possible, find out why assert fails for my case.

Thanks.

Have a great Christmas.

Cheers,
Tj
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-dev/attachments/20161224/de3357ab/attachment.html>


More information about the mythtv-dev mailing list