After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 148061 - [qtdemux] fail to play media
[qtdemux] fail to play media
Status: RESOLVED DUPLICATE of bug 140147
Product: GStreamer
Classification: Platform
Component: gst-plugins
git master
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2004-07-21 09:16 UTC by Christophe Fergeau
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Christophe Fergeau 2004-07-21 09:16:45 UTC
I've got a .mov file (its size is 1 MB, I can attach it if needed) which
triggers a crash in qtdemux with this backtrace: 

  • #0 qtdemux_audio_caps
    at qtdemux.c line 2531
  • #1 qtdemux_parse_trak
    at qtdemux.c line 1967
  • #2 qtdemux_parse_tree
    at qtdemux.c line 1807
  • #3 gst_qtdemux_loop_header
    at qtdemux.c line 624
  • #4 loop_group_schedule_function
    at gstoptimalscheduler.c line 1340
  • #5 schedule_group
    at gstoptimalscheduler.c line 1166
  • #6 gst_opt_scheduler_schedule_run_queue
    at gstoptimalscheduler.c line 1213
  • #7 schedule_chain
    at gstoptimalscheduler.c line 1266
  • #8 gst_opt_scheduler_iterate
    at gstoptimalscheduler.c line 2598
  • #9 gst_scheduler_iterate
    at gstscheduler.c line 705
  • #10 gst_bin_iterate_func
    at gstbin.c line 1197
  • #11 gst_marshal_BOOLEAN__VOID
    at gstmarshal.c line 472
  • #12 g_type_class_meta_marshal
    at gclosure.c line 514
  • #13 g_closure_invoke
    at gclosure.c line 437
  • #14 signal_emit_unlocked_R
    at gsignal.c line 2473
  • #15 g_signal_emit_valist
    at gsignal.c line 2204
  • #16 g_signal_emit
    at gsignal.c line 2238
  • #17 gst_bin_iterate
    at gstbin.c line 1250
  • #18 idle_func
    at gst-launch.c line 78
  • #19 g_idle_dispatch
    at gmain.c line 3802
  • #20 g_main_dispatch
    at gmain.c line 1942
  • #21 g_main_context_dispatch
    at gmain.c line 2492
  • #22 g_main_context_iterate
    at gmain.c line 2573
  • #23 g_main_loop_run
    at gmain.c line 2777
  • #24 gst_main
    at gst.c line 853
  • #25 main
    at gst-launch.c line 514


qtdemux_parse_trak calls qtdemux_audio_caps with 
    stream->caps = qtdemux_audio_caps (qtdemux, fourcc, NULL, 0);
ie data is NULL, but then it does

    case GST_MAKE_FOURCC ('Q', 'D', 'M', '2'):
      /* FIXME: QDesign music version 2 (no constant) */
      return gst_caps_new_simple ("audio/x-qdm2",
          "framesize", G_TYPE_INT, QTDEMUX_GUINT32_GET (data + 52),
          "bitrate", G_TYPE_INT, QTDEMUX_GUINT32_GET (data + 40),
          "blocksize", G_TYPE_INT, QTDEMUX_GUINT32_GET (data + 44), NULL);

ie it assumes data is not NULL, hence the crash (at least this is my guess).
Comment 1 David Schleef 2004-07-22 21:50:08 UTC
Yes, please attach the file.

I fixed the actual crash in HEAD, but it probably won't play now.
Comment 2 Christophe Fergeau 2004-07-22 22:06:12 UTC
It's available from http://djdeath.dyndns.org/~djdeath/hop.mov actually. It's
only the 1MB of a 60MB file, I hope it's enough.
Comment 3 Ronald Bultje 2004-10-01 11:27:59 UTC
We don't have a QDM2 decoder. Otherwise, the crash is fixed. Video plays fine, also.

*** This bug has been marked as a duplicate of 140147 ***