[Bug 722639] New: Memory usage of gstreamer (qtdemux) is proportional to the time duration of m4a files.

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Jan 20 11:18:37 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=722639
  GStreamer | gst-plugins-good | unspecified

           Summary: Memory usage of gstreamer (qtdemux) is proportional to
                    the time duration of m4a files.
    Classification: Platform
           Product: GStreamer
           Version: unspecified
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: leimiao09 at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


QuickTime stores media data in samples. The number of a samples in m4a 
files are huge. For example, a 6hr m4a file has about 950,000 samples. 
Because qtdemux.c creates a sample table whose size is proportional to 
the number of samples, the sample table could be very big. For an m4a file 
6:11:46 long, I got:

"qtdemux qtdemux.c:6306:qtdemux_stbl_init:<qtdemux0> allocating 
n_samples 960669 * 32 (29.32 MB)"

Indeed, qtdemux has a cap of 50MB for this table:

/* if the sample index is larger than this, something is likely wrong */
#define QTDEMUX_MAX_SAMPLE_INDEX_SIZE (50*1024*1024)

The current design has two problems for m4a files:

1. m4a files with duration greater than 12hrs won't play:

  qtdemux qtdemux.c:6306:qtdemux_stbl_init:<qtdemux0> allocating 
n_samples 1921335 * 32 (58.63 MB)
  qtdemux qtdemux.c:6312:qtdemux_stbl_init:<qtdemux0> not allocating 
index of 1921335 samples, would be larger than 50MB (broken file?)

Such a file can be downloaded at:
https://dl.dropboxusercontent.com/u/54923483/White_Noise_320kbps_14Hour.m4a 

2. It may impose a memory burden for embedded systems.

Could somebody take a look at this issue and improve qtdemux? 

Discussions of this issue can be found at :
http://lists.freedesktop.org/archives/gstreamer-devel/2014-January/045660.html

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list