[gstreamer-bugs] [Bug 337866] New: [avidemux] seeking to wrong time

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Sun Apr 9 15:58:54 PDT 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=337866
 GStreamer | gst-plugins-good | Ver: HEAD CVS

           Summary: [avidemux] seeking to wrong time
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: torri at iecn.u-nancy.fr
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


I've made a simple pipeline to read an avi file and seek to a frame.

The pipeline is : filesrc ! avidemux ! ffdec_mpeg4 : avs3sink

The sink is specific and allow to seek, in PAUSED state, to a specific frame.

The program and the sink that I use are given as an attachment below. The avi
file that I use for testing can be found here :

http://www.iecn.u-nancy.fr/~torri/files/gstreamer_pb/blood.avi

It has only one video stream. No audio.

When I seek to frame 0, the timestamp of the buffer (or the stream time) that I
get is different from the requested time (computed from the frame number and
the frame rate). --gst-debug=avidemux:4 gives the following output : 

DEBUG (0x804f0a8 - 0:00:01.294759000)             avidemux( 9087)
gstavidemux.c(494):gst_avi_demux_handle_src_event:<demuxer> seek format 3,
flags:3, 73646976, start:0, stop:-1
DEBUG (0x8175a00 - 0:00:01.295026000)             avidemux( 9087)
gstavidemux.c(2494):gst_avi_demux_process_next_entry:<demuxer> Flow on pad
video_00: wrong-state
DEBUG (0x8175a00 - 0:00:01.295126000)             avidemux( 9087)
gstavidemux.c(2617):gst_avi_demux_loop:<demuxer> stream_data flow: wrong-state
DEBUG (0x804f0a8 - 0:00:01.295224000)             avidemux( 9087)
gstavidemux.c(2318):gst_avi_demux_handle_seek:<demuxer> Got keyframe entry 0
[stream:0 / ts:0:00:00.000000000 / duration:0:00:00.040000000]DEBUG (0x804f0a8
- 0:00:01.295314000)             avidemux( 9087)
gstavidemux.c(2329):gst_avi_demux_handle_seek:<demuxer> seek: 0:00:00.000000000
-- 0:01:00.000000000 keyframe seeking:0 update:1
DEBUG (0x804f0a8 - 0:00:01.295442000)             avidemux( 9087)
gstavidemux.c(562):gst_avi_demux_handle_src_event:<demuxer> returning 1
DEBUG (0x8175a00 - 0:00:01.295572000)             avidemux( 9087)
gstavidemux.c(2489):gst_avi_demux_process_next_entry:<demuxer> Processing
buffer of size 3210 and time 0:00:00.000000000 on pad video_00
DEBUG (0x8175a00 - 0:00:01.298114000)             avidemux( 9087)
gstavidemux.c(2489):gst_avi_demux_process_next_entry:<demuxer> Processing
buffer of size 3253 and time 0:00:00.040000000 on pad video_00
Timestamp    : 40000000
Stream time  : 40000000
seek to      : 0

the timestamp (or the stream time) is equal to 1 / fps, while I want a time
equal to 0.

I've also tried to seek to frames i * 100, where i = 0, ..., 14 (there are 1500
frames in the video). For frames number 0, 200, 400, 600, 800, 1000, 1200 and
1400, the timestamp and the stream time are different from the requested time.

The sink that I have written seems good (it works perfectly with mkv files,
with a small fix in matroskademux).

is it a bug in avidemux ?


-- 
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