Use dynamically allocated ByteIOContext in AVFormatContext

patch by: Björn Axelsson, bjorn d axelsson a intinor d se
thread: [PATCH] Remove static ByteIOContexts, 06 nov 2007

Originally committed as revision 11071 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Björn Axelsson
2007-11-21 07:41:00 +00:00
committed by Andreas Öman
parent 79815f622d
commit 899681cd1d
89 changed files with 873 additions and 824 deletions

View File

@@ -60,12 +60,12 @@ static int avs_read_header(AVFormatContext * s, AVFormatParameters * ap)
s->ctx_flags |= AVFMTCTX_NOHEADER;
url_fskip(&s->pb, 4);
avs->width = get_le16(&s->pb);
avs->height = get_le16(&s->pb);
avs->bits_per_sample = get_le16(&s->pb);
avs->fps = get_le16(&s->pb);
avs->nb_frames = get_le32(&s->pb);
url_fskip(s->pb, 4);
avs->width = get_le16(s->pb);
avs->height = get_le16(s->pb);
avs->bits_per_sample = get_le16(s->pb);
avs->fps = get_le16(s->pb);
avs->nb_frames = get_le32(s->pb);
avs->remaining_frame_size = 0;
avs->remaining_audio_size = 0;
@@ -103,7 +103,7 @@ avs_read_video_packet(AVFormatContext * s, AVPacket * pkt,
pkt->data[palette_size + 1] = type;
pkt->data[palette_size + 2] = size & 0xFF;
pkt->data[palette_size + 3] = (size >> 8) & 0xFF;
ret = get_buffer(&s->pb, pkt->data + palette_size + 4, size - 4) + 4;
ret = get_buffer(s->pb, pkt->data + palette_size + 4, size - 4) + 4;
if (ret < size) {
av_free_packet(pkt);
return AVERROR(EIO);
@@ -122,9 +122,9 @@ static int avs_read_audio_packet(AVFormatContext * s, AVPacket * pkt)
avs_format_t *avs = s->priv_data;
int ret, size;
size = url_ftell(&s->pb);
size = url_ftell(s->pb);
ret = voc_get_packet(s, pkt, avs->st_audio, avs->remaining_audio_size);
size = url_ftell(&s->pb) - size;
size = url_ftell(s->pb) - size;
avs->remaining_audio_size -= size;
if (ret == AVERROR(EIO))
@@ -153,20 +153,20 @@ static int avs_read_packet(AVFormatContext * s, AVPacket * pkt)
while (1) {
if (avs->remaining_frame_size <= 0) {
if (!get_le16(&s->pb)) /* found EOF */
if (!get_le16(s->pb)) /* found EOF */
return AVERROR(EIO);
avs->remaining_frame_size = get_le16(&s->pb) - 4;
avs->remaining_frame_size = get_le16(s->pb) - 4;
}
while (avs->remaining_frame_size > 0) {
sub_type = get_byte(&s->pb);
type = get_byte(&s->pb);
size = get_le16(&s->pb);
sub_type = get_byte(s->pb);
type = get_byte(s->pb);
size = get_le16(s->pb);
avs->remaining_frame_size -= size;
switch (type) {
case AVS_PALETTE:
ret = get_buffer(&s->pb, palette, size - 4);
ret = get_buffer(s->pb, palette, size - 4);
if (ret < size - 4)
return AVERROR(EIO);
palette_size = size;
@@ -203,7 +203,7 @@ static int avs_read_packet(AVFormatContext * s, AVPacket * pkt)
break;
default:
url_fskip(&s->pb, size - 4);
url_fskip(s->pb, size - 4);
}
}
}