diff options
author | wm4 <wm4@nowhere> | 2014-09-16 18:11:00 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-09-16 18:11:00 +0200 |
commit | caaeb15318dbdd38344f15a8919540f188de5c46 (patch) | |
tree | e0416e67067fcbb4485d96deaacd7dd55f55a51e /demux/demux_mf.c | |
parent | 26e0cce9699e672b3d56c3b184a662955c4815bc (diff) | |
download | mpv-caaeb15318dbdd38344f15a8919540f188de5c46.tar.bz2 mpv-caaeb15318dbdd38344f15a8919540f188de5c46.tar.xz |
demux: gracefully handle packet allocation failures
Now the packet allocation functions can fail.
Diffstat (limited to 'demux/demux_mf.c')
-rw-r--r-- | demux/demux_mf.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/demux/demux_mf.c b/demux/demux_mf.c index c0e4cd7757..fa42f52782 100644 --- a/demux/demux_mf.c +++ b/demux/demux_mf.c @@ -77,10 +77,12 @@ static int demux_mf_fill_buffer(demuxer_t *demuxer) bstr data = stream_read_complete(stream, NULL, MF_MAX_FILE_SIZE); if (data.len) { demux_packet_t *dp = new_demux_packet(data.len); - memcpy(dp->buffer, data.start, data.len); - dp->pts = mf->curr_frame / mf->sh->fps; - dp->keyframe = true; - demux_add_packet(demuxer->streams[0], dp); + if (dp) { + memcpy(dp->buffer, data.start, data.len); + dp->pts = mf->curr_frame / mf->sh->fps; + dp->keyframe = true; + demux_add_packet(demuxer->streams[0], dp); + } } talloc_free(data.start); } |