[vlc-devel] [PATCH] demux: mkv: Remove unnecessary throw

Thomas Guillem thomas at gllm.fr
Wed Nov 28 10:25:41 CET 2018


On Wed, Nov 28, 2018, at 10:23, Steve Lhomme wrote:
> On 28/11/2018 10:08, Thomas Guillem wrote:
> > An other fix would be to add a missing try-catch in the function that is calling BlockGet() (the pf_demux one then).
> 
> There is already a `catch(intret_code)` around the code that is using 
> this dispatcher. One above should not make any difference. It works on 
> all platforms, except on the newer iPhones which doesn't go in the 
> `catch(...)` next to it.
> 
> In any case a Cues somewhere between Clusters/others should not stop 
> parsing the rest of the file. So a throw is not correct here. It should 
> do like the E_CASE_DEFAULT() next to it and just step over it.

OK, but then we don't fix the bigger issue here, a failing catch on some platforms is quite serious.

> 
> >
> > I don't know what is the proper fix in this case.
> >
> > On Tue, Nov 27, 2018, at 12:04, Soomin Lee wrote:
> >> This case wasn't an error in the file itself and the playback can continue
> >>   to the following files.
> >>
> >> Additionally, throwing led to a crash on iOS 12.0.0 and iOS 12.0.1.
> >>
> >> (ref:
> >> https://rink.hockeyapp.net/manage/apps/194470/app_versions/113/crash_reasons/242850559)
> >> ---
> >>   modules/demux/mkv/matroska_segment.cpp | 1 -
> >>   1 file changed, 1 deletion(-)
> >>
> >> diff --git a/modules/demux/mkv/matroska_segment.cpp b/modules/demux/mkv/
> >> matroska_segment.cpp
> >> index 93647113f8..29e63a2459 100644
> >> --- a/modules/demux/mkv/matroska_segment.cpp
> >> +++ b/modules/demux/mkv/matroska_segment.cpp
> >> @@ -1216,7 +1216,6 @@ int matroska_segment_c::BlockGet( KaxBlock * &
> >> pp_block, KaxSimpleBlock * & pp_s
> >>           {
> >>               VLC_UNUSED( kcue );
> >>               msg_Warn( vars.p_demuxer, "find KaxCues FIXME" );
> >> -            throw VLC_EGENERIC;
> >>           }
> >>           E_CASE_DEFAULT(element)
> >>           {
> >> -- 
> >> 2.19.1
> >>
> >> _______________________________________________
> >> vlc-devel mailing list
> >> To unsubscribe or modify your subscription options:
> >> https://mailman.videolan.org/listinfo/vlc-devel
> > _______________________________________________
> > vlc-devel mailing list
> > To unsubscribe or modify your subscription options:
> > https://mailman.videolan.org/listinfo/vlc-devel
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list