lavf/segment: fix crash when failing to open segment list
authorRodger Combs <rodger.combs@gmail.com>
Sat, 21 Jan 2017 02:15:03 +0000 (20:15 -0600)
committerRodger Combs <rodger.combs@gmail.com>
Mon, 23 Jan 2017 11:44:49 +0000 (05:44 -0600)
commit2b202900618d82030384d46c8d9c3dbf3fe1d7ed
treecced22ec20e3df4e86f99f34491b33f53ce30d9c
parente371f031b942d73e02c090170975561fabd5c264
lavf/segment: fix crash when failing to open segment list

This happens because segment_end() returns an error, so seg_write_packet
never proceeds to segment_start(), and seg->avf->pb is never re-set,
so we crash with a null pb when av_write_trailer flushes the packet
queue.

This doesn't seem to be clearly recoverable, so I'm just failing more
gracefully.

Repro:
ffmpeg -i input.ts -f segment -c copy -segment_list /noaxx.m3u8 test-%05d.ts

(assuming you don't have write access to /)
libavformat/segment.c