# HG changeset patch # User leo_sobral # Date 1163451238 0 # Node ID 7550ece159431a61637a92ff9b95dc818771cf12 # Parent 653adbffb418cce7f7f148a569a9dbb80e48a9b6 [svn r84] teste case: bug debug diff -r 653adbffb418 -r 7550ece15943 gst-plugins-nuvdemux/nuvdemux/gstnuvdemux.c --- a/gst-plugins-nuvdemux/nuvdemux/gstnuvdemux.c Mon Nov 13 20:48:35 2006 +0000 +++ b/gst-plugins-nuvdemux/nuvdemux/gstnuvdemux.c Mon Nov 13 20:53:58 2006 +0000 @@ -462,7 +462,12 @@ if (ret != GST_FLOW_OK) return ret; - GST_BUFFER_TIMESTAMP (buf) = h->i_timecode * GST_MSECOND; + if(h->i_timecode < 0) { + GST_WARNING_OBJECT (nuv, "timecode negative"); + h->i_timecode = 0; + } + + GST_BUFFER_TIMESTAMP (buf) = h->i_timecode * GST_MSECOND; } switch (h->i_type) { @@ -481,7 +486,17 @@ GST_CLOCK_TIME_NONE, 0)); nuv->new_video_segment = FALSE; } - res = gst_nuv_demux_push_dat (nuv, h->i_lengh, nuv->src_video_pad); + //GST_WARNING_OBJECT (nuv, "setting timestamp to zero"); + + //GST_BUFFER_TIMESTAMP (buf) = 0; + GST_BUFFER_OFFSET (buf) = GST_CLOCK_TIME_NONE; + GST_BUFFER_SIZE (buf) = h->i_length; + gst_buffer_set_caps (buf, GST_PAD_CAPS (nuv->src_video_pad)); + ret = gst_pad_push (nuv->src_video_pad, buf); + if (ret != GST_FLOW_OK) { + GST_WARNING_OBJECT (nuv, "error pushing on srcpad %s, is linked? = %d", + gst_pad_get_name (nuv->src_video_pad), gst_pad_is_linked (nuv->src_video_pad)); + } break; } case 'A': @@ -500,6 +515,8 @@ nuv->new_audio_segment = FALSE; } + //GST_BUFFER_TIMESTAMP (buf) = h->i_timecode * GST_MSECOND; + GST_BUFFER_OFFSET (buf) = GST_CLOCK_TIME_NONE; GST_BUFFER_SIZE (buf) = h->i_length; gst_buffer_set_caps (buf, GST_PAD_CAPS (nuv->src_audio_pad)); ret = gst_pad_push (nuv->src_audio_pad, buf);