matroska-demux: increase allowed max. block size for push mode from 10M to 15M
authorTim-Philipp Müller <tim.muller@collabora.co.uk>
Wed, 29 Dec 2010 23:38:18 +0000 (23:38 +0000)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Wed, 29 Dec 2010 23:38:18 +0000 (23:38 +0000)
It was an arbitrary limit from the start, meant as a basic sanity check,
so may just as well increase it a little. Would be good to provide
progress reporting while completing the block in any case..

https://bugzilla.gnome.org/show_bug.cgi?id=637060

gst/matroska/matroska-demux.c

index 96c9a15..29ba781 100644 (file)
@@ -5436,10 +5436,12 @@ gst_matroska_demux_parse_contents (GstMatroskaDemux * demux, GstEbmlRead * ebml)
 
 #define GST_FLOW_OVERFLOW   GST_FLOW_CUSTOM_ERROR
 
+#define MAX_BLOCK_SIZE (15 * 1024 * 1024)
+
 static inline GstFlowReturn
 gst_matroska_demux_check_read_size (GstMatroskaDemux * demux, guint64 bytes)
 {
-  if (G_UNLIKELY (bytes > 10 * 1024 * 1024)) {
+  if (G_UNLIKELY (bytes > MAX_BLOCK_SIZE)) {
     /* only a few blocks are expected/allowed to be large,
      * and will be recursed into, whereas others will be read and must fit */
     if (demux->streaming) {