summaryrefslogtreecommitdiff
path: root/libavformat/raw.c
diff options
context:
space:
mode:
authorLeon van Stuivenberg <leonvs@iae.nl>2004-03-15 03:29:32 +0000
committerMichael Niedermayer <michaelni@gmx.at>2004-03-15 03:29:32 +0000
commite15dec10d5eb1fba001714a512779f459a8b51fc (patch)
treeb5f2e49b3f86e488550c77e07b8734d46a907379 /libavformat/raw.c
parent6cc270c2acba1c236e249ec76f877cf014ee70f5 (diff)
decode latency patch by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
Originally committed as revision 2896 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/raw.c')
-rw-r--r--libavformat/raw.c31
1 files changed, 25 insertions, 6 deletions
diff --git a/libavformat/raw.c b/libavformat/raw.c
index 2fd3e4873d..b650fd76ae 100644
--- a/libavformat/raw.c
+++ b/libavformat/raw.c
@@ -102,6 +102,25 @@ static int raw_read_packet(AVFormatContext *s, AVPacket *pkt)
return ret;
}
+static int raw_read_partial_packet(AVFormatContext *s, AVPacket *pkt)
+{
+ int ret, size;
+
+ size = RAW_PACKET_SIZE;
+
+ if (av_new_packet(pkt, size) < 0)
+ return -EIO;
+
+ pkt->stream_index = 0;
+ ret = get_partial_buffer(&s->pb, pkt->data, size);
+ if (ret <= 0) {
+ av_free_packet(pkt);
+ return -EIO;
+ }
+ pkt->size = ret;
+ return ret;
+}
+
static int raw_read_close(AVFormatContext *s)
{
return 0;
@@ -247,7 +266,7 @@ AVInputFormat ac3_iformat = {
0,
NULL,
ac3_read_header,
- raw_read_packet,
+ raw_read_partial_packet,
raw_read_close,
.extensions = "ac3",
};
@@ -273,7 +292,7 @@ AVInputFormat h263_iformat = {
0,
h263_probe,
video_read_header,
- raw_read_packet,
+ raw_read_partial_packet,
raw_read_close,
// .extensions = "h263", //FIXME remove after writing mpeg4_probe
.value = CODEC_ID_H263,
@@ -300,7 +319,7 @@ AVInputFormat m4v_iformat = {
0,
NULL /*mpegvideo_probe*/,
video_read_header,
- raw_read_packet,
+ raw_read_partial_packet,
raw_read_close,
.extensions = "m4v", //FIXME remove after writing mpeg4_probe
.value = CODEC_ID_MPEG4,
@@ -327,7 +346,7 @@ AVInputFormat h264_iformat = {
0,
NULL /*mpegvideo_probe*/,
video_read_header,
- raw_read_packet,
+ raw_read_partial_packet,
raw_read_close,
.extensions = "h26l,h264", //FIXME remove after writing mpeg4_probe
.value = CODEC_ID_H264,
@@ -354,7 +373,7 @@ AVInputFormat mpegvideo_iformat = {
0,
mpegvideo_probe,
video_read_header,
- raw_read_packet,
+ raw_read_partial_packet,
raw_read_close,
.value = CODEC_ID_MPEG1VIDEO,
};
@@ -380,7 +399,7 @@ AVInputFormat mjpeg_iformat = {
0,
NULL,
video_read_header,
- raw_read_packet,
+ raw_read_partial_packet,
raw_read_close,
.extensions = "mjpg,mjpeg",
.value = CODEC_ID_MJPEG,