[gstreamer-bugs] [Bug 328531] matroskamuxer goes Streamer-CRITICAL **: gst_segment_set_newsegment
GStreamer (bugzilla.gnome.org)
bugzilla-daemon at bugzilla.gnome.org
Wed Jan 25 16:59:18 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=328531
GStreamer | gst-plugins-good | Ver: 0.10.2
------- Comment #5 from John Janecek 2006-01-26 00:59 UTC -------
(In reply to comment #4)
> can you resubmit, but this time also give the backtrace :) It doesn't seem to
> first the same error as in bug description.
>
Not sure how to do backtrace :(
I set my env to
G_DEBUG=fatal_warnings
then i run gst-launch-0.10 in gdb
with filesrc location=ccc.ogg ! decodebin name=decoder decoder. ! queue!
audioconvert ! vorbisenc ! matroskamux ! filesink location=rip.mkv
gdb catches the critical error
I go bt in gdb
#0 g_logv (log_domain=0x10058090 "GStreamer", log_level=G_LOG_LEVEL_CRITICAL,
format=0x4ffb41 "%s: assertion `%s' failed", args1=0x1def734
"\0269\006\020µ8\006\020\004") at gmessages.c:489
#1 0x004d0446 in g_log (log_domain=0x10058090 "GStreamer",
log_level=G_LOG_LEVEL_CRITICAL, format=0x4ffb41 "%s: assertion `%s' failed") at
gmessages.c:517
#2 0x004d049a in g_return_if_fail_warning (log_domain=0x10058090 "GStreamer",
pretty_function=0x10063916 "gst_segment_set_newsegment", expression=0x100638b5
"segment->format == format") at gmessages.c:532
#3 0x01423e73 in _fu37____gst_debug_enabled () at gstbasesink.c:611
#4 0x01424c37 in _fu46____gst_debug_enabled () at gstbasesink.c:819
#5 0x10029edd in gst_pad_send_event (pad=0x12989f0, event=0x239b5d0) at
gstpad.c:3672
#6 0x01a53b88 in _fu22____gst_debug_enabled () at matroska/ebml-write.c:390
#7 0x01a540e1 in gst_ebml_write_master_finish (ebml=0x12bc358, startpos=4) at
matroska/ebml-write.c:624
#8 0x01a545c4 in gst_ebml_write_header (ebml=0x12bc358, doctype=0x1a66c67
"matroska", version=1) at matroska/ebml-write.c:752
#9 0x01a5f5e0 in gst_matroska_mux_start (mux=0x12bb328) at
matroska/matroska-mux.c:1012
#10 0x01a60df0 in _fu114____gst_debug_enabled () at
matroska/matroska-mux.c:1494
#11 0x0142ee71 in gst_collect_pads_is_collected (pads=0x12bc008, ret=0x1defb30)
at gstcollectpads.c:590
#12 0x0142f37b in _fu205____gst_debug_enabled () at gstcollectpads.c:704
#13 0x10028b88 in gst_pad_chain (pad=0x12bcdd0, buffer=0x2733708) at
gstpad.c:3155
#14 0x100292d3 in gst_pad_push (pad=0x1288b10, buffer=0x2733708) at
gstpad.c:3254
#15 0x0177510a in gst_vorbisenc_push_buffer (vorbisenc=0x1, buffer=0x240608) at
vorbisenc.c:829
#16 0x017755c6 in _fu38____gst_debug_enabled () at vorbisenc.c:971
#17 0x10028b88 in gst_pad_chain (pad=0x1288808, buffer=0x2403990) at
gstpad.c:3155
#18 0x100292d3 in gst_pad_push (pad=0x12a8ed8, buffer=0x2403990) at
gstpad.c:3254
#19 0x0142d959 in gst_base_transform_chain (pad=0x1261da0, buffer=0x2403990) at
gstbasetransform.c:1302
#20 0x10028b88 in gst_pad_chain (pad=0x1261da0, buffer=0x2403990) at
gstpad.c:3155
#21 0x100292d3 in gst_pad_push (pad=0x1286260, buffer=0x2403990) at
gstpad.c:3254
#22 0x0135d94b in _fu137____gst_debug_enabled () at gstqueue.c:808
#23 0x1003aa89 in gst_task_func (task=0x12be968, tclass=0x12be7b0) at
gsttask.c:186
#24 0x004e3a99 in g_thread_pool_thread_proxy (data=0x12be858) at
gthreadpool.c:114
#25 0x004e20b6 in g_thread_create_proxy (data=0x12beab8) at gthread.c:564
#26 0x003f1e25 in libgmodule-2!g_module_build_path () from
C:\root\local\bin\libgthread-2.0-0.dll
#27 0x77c3a3b0 in msvcrt!_endthreadex () from C:\WINDOWS\system32\msvcrt.dll
#28 0x012beaf0 in ?? ()
#29 0x7c96e0f0 in ntdll!RtlpNtMakeTemporaryKey () from ntdll.dll
#30 0x00cf0608 in ?? ()
#31 0x012beb18 in ?? ()
#32 0x00000000 in ?? () from
#33 0x01deff8c in ?? ()
#34 0x804fa881 in ?? ()
#35 0x01deffdc in ?? ()
#36 0x77c35c94 in msvcrt!_except_handler2 () from
C:\WINDOWS\system32\msvcrt.dll
#37 0x7c80b50b in KERNEL32!GetModuleFileNameA () from
C:\WINDOWS\system32\kernel32.dll
#38 0x012beb18 in ?? ()
#39 0x7c96e0f0 in ntdll!RtlpNtMakeTemporaryKey () from ntdll.dll
#40 0x00cf0608 in ?? ()
#41 0x012beb18 in ?? ()
#42 0x7ffdc000 in ?? ()
#43 0x863c0600 in ?? ()
#44 0x01deffc0 in ?? ()
#45 0x86300570 in ?? ()
#46 0xffffffff in ?? ()
#47 0x7c8399f3 in KERNEL32!FindAtomW () from C:\WINDOWS\system32\kernel32.dll
#48 0x7c80b518 in KERNEL32!GetModuleFileNameA () from
C:\WINDOWS\system32\kernel32.dll
#49 0x00000000 in ?? () from
#50 0x00000000 in ?? () from
#51 0x00000000 in ?? () from
#52 0x77c3a341 in msvcrt!_endthreadex () from C:\WINDOWS\system32\msvcrt.dll
#53 0x012beb18 in ?? ()
#54 0x00000000 in ?? () from
#55 0x00905a4d in libgobject-2!g_object_newv () from
C:\root\local\bin\libgobject-2.0-0.dll
Error: Previous frame inner to this frame (corrupt stack?)
when i climb the stack
Error is being triggered in gstbasesink.c
604 /* the newsegment event is needed to bring the buffer
timestamps to the
605 * stream time and to drop samples outside of the
playback segment. */
- 606 gst_event_parse_new_segment (event, &update, &rate,
&format,
607 &start, &stop, &time);
608
- 609 basesink->have_newsegment = TRUE;
610
- 611 gst_segment_set_newsegment (&basesink->segment, update,
rate, format,
612 start, stop, time); <----------- trigger
613
- 614 GST_DEBUG_OBJECT (basesink,
615 "received NEWSEGMENT %" GST_TIME_FORMAT " -- %"
616 GST_TIME_FORMAT ", time %" GST_TIME_FORMAT ", accum
%"
617 GST_TIME_FORMAT,
618 GST_TIME_ARGS (basesink->segment.start),
619 GST_TIME_ARGS (basesink->segment.stop),
620 GST_TIME_ARGS (basesink->segment.time),
621 GST_TIME_ARGS (basesink->segment.accum));
622 break;
623 }
This is happening because on about line 615
format = GST_FORMAT_BYTES
segment->format = GST_FORMAT_TIME (it got set before somehow ? )
The place where it is trigger in matroska is in ebml-write.c
386
- 387 seek = gst_event_new_new_segment (FALSE, 1.0,
GST_FORMAT_BYTES, pos, -1, 0);
- 388 peer_pad = GST_PAD_PEER (ebml->srcpad);
- 389 if (peer_pad) {
- 390 gst_pad_send_event (peer_pad, seek); <----- trigger
391 } else {
- 392 GST_WARNING_OBJECT (ebml, "Can not seek: no peer pad");
393 }
394
- 395 ebml->pos = pos;
I am running windowsxp (is that a factor ?)
oggfile ccc.ogg has both video and audio in it, but when i replace matroskamux
with oggmux it works fine.
It seems to me as in the basesink->segment is being set or initialize in
GST_FORMAT_TIME, then matroska comes allong and trys to set it in
GST_FORMAT_BYTES and it gets upset :(.
Anyway I hope the info is helpful since I am not sure what u mean by backtrace.
--
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