summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-04-10 03:31:53 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-04-10 03:32:29 +0200
commita2beabc231f0d0c509e5c8f09fdab0ccb46eca10 (patch)
tree43ef01d083ea7e047cfa02ea1e4d15d5ae074ab3
parentd459d8e28df12ee69c71c7181380d91e09764374 (diff)
parent347b375a80afbb27c887a243097c09370cb95d19 (diff)
Merge remote branch 'qatar/master'
* qatar/master: daud: Don't write packets that are too large to have their size expressed in the bytestream. DUPLICATE pthread: validate_thread_parameters() ignored slice-threading being intentionally off DUPLICATE Use consistent condition for whether to run slice-threading execute function. avformat.h: fix a misplaced #endif DUPLCIATE vaapi: cope with VA-API 0.32, i.e. fix VC-1 decoding on Sandy Bridge. DUPLICATE vaapi: filter out DELAYED_PIC_REF flag to determine field. Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavformat/avformat.h2
-rw-r--r--libavformat/daud.c5
2 files changed, 6 insertions, 1 deletions
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 3d4b0242a1..3eb4a1e3fb 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -1006,8 +1006,8 @@ void av_pkt_dump_log2(void *avcl, int level, AVPacket *pkt, int dump_payload,
#if FF_API_PKT_DUMP
attribute_deprecated void av_pkt_dump(FILE *f, AVPacket *pkt, int dump_payload);
attribute_deprecated void av_pkt_dump_log(void *avcl, int level, AVPacket *pkt,
-#endif
int dump_payload);
+#endif
/**
* Initialize libavformat and register all the muxers, demuxers and
diff --git a/libavformat/daud.c b/libavformat/daud.c
index 7aa1b6dad2..6a36d28acb 100644
--- a/libavformat/daud.c
+++ b/libavformat/daud.c
@@ -57,6 +57,11 @@ static int daud_write_header(struct AVFormatContext *s)
static int daud_write_packet(struct AVFormatContext *s, AVPacket *pkt)
{
+ if (pkt->size > 65535) {
+ av_log(s, AV_LOG_ERROR,
+ "Packet size too large for s302m. (%d > 65535)\n", pkt->size);
+ return -1;
+ }
avio_wb16(s->pb, pkt->size);
avio_wb16(s->pb, 0x8010); // unknown
avio_write(s->pb, pkt->data, pkt->size);