[gstreamer-bugs] [Bug 325552] New: Running gst-launch-ext-0.8 on an .m4a file uses wrong demuxer and segfaults

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Mon Jan 2 14:01:25 PST 2006


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=325552
 GStreamer | gst-plugins | Ver: 0.8.11

           Summary: Running gst-launch-ext-0.8 on an .m4a file uses wrong
                    demuxer and segfaults
           Product: GStreamer
           Version: 0.8.11
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: mcnees at gmail.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


Overview:
---------
Running gst-launch-ext-0.8 on the file test.m4a executes the following command:

gst-launch-0.8 filesrc location="test.m4a" ! qtdemux .audio_00 ! { queue !
faad ! osssink }

Running this command directly causes a segfault. Running this command with
"ffdemux_mov_mp4_m4a_3gp_3g2" instead of "qtdemux .audio_00" produces the
correct result.

The same thing happens when "test.m4a" is replaces with any other .m4a file.


Steps to Reproduce:
-------------------
1) Run gst-launch-ext-0.8 on any .m4a file

Actual Result:
--------------
1) The following command is run:
  gst-launch-0.8 filesrc location="test.m4a" ! qtdemux .audio_00 ! { queue !
faad ! osssink }

2) No audio is produced. gst-launch segfaults

Expected Result:
----------------
1) gst-launch should use some other demuxer, like
"ffdemux_mov_mp4_m4a_3gp_3g2".
   (Not sure which one should be used.)

2) Audio should be produced.

Build and Platform:
-------------------
This bug refers to a stock Fedora Core 4 install, immediately upgraded to
rawhide (daily updates), pulling packages from both the livna and gstreamer
respositories. The most recent 0.8.11 packages are all installed, as well as
all dependencies. 

The same bug persists when I build gstreamer and gstreamer-plugins (0.8.11)
from source.


Backtrace:
----------
[mcnees at localhost ~]$ gdb gst-launch-0.8
GNU gdb Red Hat Linux (6.3.0.0-1.94rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db
library "/lib/libthread_db.so.1".

(gdb) set args filesrc location="test.m4a" ! qtdemux .audio_00 ! { queue ! faad
! osssink }
(gdb) run
Starting program: /usr/bin/gst-launch-0.8 filesrc location="test.m4a" ! qtdemux
.audio_00 ! { queue ! faad ! osssink }
Reading symbols from shared object read from target memory...done.
Loaded system supplied DSO at 0x809000
[Thread debugging using libthread_db enabled]
[New Thread -1208624496 (LWP 13140)]
RUNNING pipeline ...
[New Thread 16575408 (LWP 13143)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208624496 (LWP 13140)]
0x00485e57 in qtdemux_parse_trak (qtdemux=0x92b8558, trak=Variable "trak" is
not available.
) at qtdemux.c:2340
2340          for (j = first_chunk; j < last_chunk; j++) {
(gdb) thread apply all bt

Thread 2 (Thread 16575408 (LWP 13143)):
#0  0x00809402 in __kernel_vsyscall ()
#1  0x0011b131 in __lll_mutex_unlock_wake () from /lib/libpthread.so.0
#2  0x00118a3f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#3  0x00aa7fbe in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#4  0x00c53fc7 in gst_thread_main_loop (arg=0x92b6bd0) at gstthread.c:705
#5  0x009585f5 in g_thread_create_full () from /usr/lib/libglib-2.0.so.0
#6  0x00116202 in start_thread () from /lib/libpthread.so.0
#7  0x00a9c37e in clone () from /lib/libc.so.6

Thread 1 (Thread -1208624496 (LWP 13140)):
#0  0x00485e57 in qtdemux_parse_trak (qtdemux=0x92b8558, trak=Variable "trak"
is not available.
) at qtdemux.c:2340
#1  0x00487d20 in gst_qtdemux_loop_header (element=0x92b8558) at qtdemux.c:1969
#2  0x001277ef in loop_group_schedule_function (argc=0, argv=0x92c1978) at
gstoptimalscheduler.c:1451
#3  0x0012816c in gst_opt_scheduler_schedule_run_queue (osched=0x92c44d8,
only_group=0x0)
    at gstoptimalscheduler.c:1222
#4  0x0012886b in gst_opt_scheduler_iterate (sched=0x92c44d8) at
gstoptimalscheduler.c:1331
#5  0x00c4b86b in gst_scheduler_iterate (sched=0x92c44d8) at gstscheduler.c:744
#6  0x00c24bbf in gst_bin_iterate_func (bin=0x92c5518) at gstbin.c:1281
#7  0x00c5e771 in gst_marshal_BOOLEAN__VOID (closure=0x91e11b0,
return_value=0xbfe7b99c, n_param_values=1,
    param_values=0xbfe7baa8, invocation_hint=0xbfe7b988, marshal_data=0xc24b40)
at gstmarshal.c:509
#8  0x06975585 in g_value_set_static_boxed () from /usr/lib/libgobject-2.0.so.0
#9  0x06976c9a in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#10 0x069881f1 in g_signal_override_class_closure () from
/usr/lib/libgobject-2.0.so.0
#11 0x06988ee3 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#12 0x069892d7 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#13 0x00c22f06 in gst_bin_iterate (bin=0x92c5518) at gstbin.c:1341
#14 0x0804992e in idle_func (data=0x92c5518) at gst-launch.c:77
#15 0x0093b13e in g_list_remove_link () from /usr/lib/libglib-2.0.so.0
#16 0x0093c943 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#17 0x0093f893 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#18 0x0093fc3c in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#19 0x00c2045c in gst_main () at gst.c:864
#20 0x0804a5b8 in main (argc=0, argv=Cannot access memory at address 0x4
) at gst-launch.c:549


-- 
Configure bugmail: http://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