[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