[vlc-devel] [vlc-commits] demux:mkv: detect bogus MPEG-2 framing from MakeMKV

Steve Lhomme robux4 at ycbcr.xyz
Mon Jan 22 12:59:38 CET 2018


Le 22/01/2018 à 11:23, Steve Lhomme a écrit :
> vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Thu Jan 18 14:02:08 2018 +0100| [c3ac6661b7cdb2432d53216379969ded65a468ed] | committer: Steve Lhomme
>
> demux:mkv: detect bogus MPEG-2 framing from MakeMKV
>
> This software doesn't put mpeg-2 frames properly in mkv frames. Without a
> packetizer we get a lot of decoding issues.
>
> Fixes #18916

Not exactly. It's necessary but not sufficient. libavcodec crashes 
trying to use reference frames it doesn't have.

>
>> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c3ac6661b7cdb2432d53216379969ded65a468ed
> ---
>
>   modules/demux/mkv/matroska_segment_parse.cpp | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/modules/demux/mkv/matroska_segment_parse.cpp b/modules/demux/mkv/matroska_segment_parse.cpp
> index 6683eec79c..f4d3900b7f 100644
> --- a/modules/demux/mkv/matroska_segment_parse.cpp
> +++ b/modules/demux/mkv/matroska_segment_parse.cpp
> @@ -1517,6 +1517,8 @@ bool matroska_segment_c::TrackInit( mkv_track_t * p_tk )
>           }
>           S_CASE("V_MPEG2") {
>               vars.p_fmt->i_codec = VLC_CODEC_MPGV;
> +            if (strstr(vars.obj->psz_muxing_application,"libmakemkv"))
> +                vars.p_fmt->b_packetized = false;
>               fill_extra_data( vars.p_tk, 0 );
>           }
>           S_CASE("V_THEORA") {
>
> _______________________________________________
> vlc-commits mailing list
> vlc-commits at videolan.org
> https://mailman.videolan.org/listinfo/vlc-commits



More information about the vlc-devel mailing list