Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(482)

Unified Diff: patched-ffmpeg-mt/libavformat/dsicin.c

Issue 789004: ffmpeg roll of source to mar 9 version... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/ffmpeg/
Patch Set: '' Created 10 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: patched-ffmpeg-mt/libavformat/dsicin.c
===================================================================
--- patched-ffmpeg-mt/libavformat/dsicin.c (revision 41250)
+++ patched-ffmpeg-mt/libavformat/dsicin.c (working copy)
@@ -162,6 +162,7 @@
ByteIOContext *pb = s->pb;
CinFrameHeader *hdr = &cin->frame_header;
int rc, palette_type, pkt_size;
+ int ret;
if (cin->audio_buffer_size == 0) {
rc = cin_read_frame_header(cin, pb);
@@ -178,8 +179,9 @@
/* palette and video packet */
pkt_size = (palette_type + 3) * hdr->pal_colors_count + hdr->video_frame_size;
- if (av_new_packet(pkt, 4 + pkt_size))
- return AVERROR(ENOMEM);
+ ret = av_new_packet(pkt, 4 + pkt_size);
+ if (ret < 0)
+ return ret;
pkt->stream_index = cin->video_stream_index;
pkt->pts = cin->video_stream_pts++;
@@ -189,8 +191,13 @@
pkt->data[2] = hdr->pal_colors_count >> 8;
pkt->data[3] = hdr->video_frame_type;
- if (get_buffer(pb, &pkt->data[4], pkt_size) != pkt_size)
- return AVERROR(EIO);
+ ret = get_buffer(pb, &pkt->data[4], pkt_size);
+ if (ret < 0) {
+ av_free_packet(pkt);
+ return ret;
+ }
+ if (ret < pkt_size)
+ av_shrink_packet(pkt, 4 + ret);
/* sound buffer will be processed on next read_packet() call */
cin->audio_buffer_size = hdr->audio_frame_size;
@@ -198,16 +205,13 @@
}
/* audio packet */
- if (av_new_packet(pkt, cin->audio_buffer_size))
- return AVERROR(ENOMEM);
+ ret = av_get_packet(pb, pkt, cin->audio_buffer_size);
+ if (ret < 0)
+ return ret;
pkt->stream_index = cin->audio_stream_index;
pkt->pts = cin->audio_stream_pts;
cin->audio_stream_pts += cin->audio_buffer_size * 2 / cin->file_header.audio_frame_size;
-
- if (get_buffer(pb, pkt->data, cin->audio_buffer_size) != cin->audio_buffer_size)
- return AVERROR(EIO);
-
cin->audio_buffer_size = 0;
return 0;
}

Powered by Google App Engine
This is Rietveld 408576698