Merge remote branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 10 Apr 2011 01:31:53 +0000 (03:31 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 10 Apr 2011 01:32:29 +0000 (03:32 +0200)
* 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>
libavformat/avformat.h
libavformat/daud.c

index 3d4b024..3eb4a1e 100644 (file)
@@ -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
index 7aa1b6d..6a36d28 100644 (file)
@@ -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);