summaryrefslogtreecommitdiffstats
path: root/demux/demux_mf.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-09-16 18:11:00 +0200
committerwm4 <wm4@nowhere>2014-09-16 18:11:00 +0200
commitcaaeb15318dbdd38344f15a8919540f188de5c46 (patch)
treee0416e67067fcbb4485d96deaacd7dd55f55a51e /demux/demux_mf.c
parent26e0cce9699e672b3d56c3b184a662955c4815bc (diff)
downloadmpv-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.c10
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);
}