Seeking a Avi File

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Seeking a Avi File

*Reference Tutorial:*  gstreamer guikit

I have successfully play,pause and stop video. the only thing I can't do is
using the seek in a particular time based. when I use the command to seek it
freezes and nothing goes back to that in time.

I'm using the following pipeline.

*Recording pipeline:* gst-launch-1.0 rtspsrc location=[ip] name=source !
rtph264depay ! h264parse ! avimux name=mux ! filesink location=test.avi
source. ! rtpmp4gdepay ! aacparse ! mux.

*playback pipeline:*gst-launch-1.0 filesrc location=[file] ! avidemux
name=demux ! h264parse ! avdec_h264 ! d3dvideosink sync=true demux. !
aacparse ! faad ! directsoundsink sync=true

when i run my application it says with gst-debug=3:

0:00:08.613545008  9992   08832078 WARN                basesink
gstbasesink.c:2846:gst_base_sink_is_too_late:<vsink> warning: A lot of
buffers are bei
ng dropped.
0:00:08.614186197  9992   08832078 WARN                basesink
gstbasesink.c:2846:gst_base_sink_is_too_late:<vsink> warning: There may be a

i get the position and the duration but when I apply the seek it won't seek.
it says it successfully. the only thing is that it pauses fine then seeks
okay but when set pipeline state to play, it doesn't. there is no indication
of the pipeline state change. i changed the code quit a bit on my end so it
will be different than the referenced tutorial. anybody have an idea?

if(gst_element_set_state (data->playbin, GST_STATE_PAUSED) ==
                if(gst_element_seek_simple (data->playbin, GST_FORMAT_TIME,
                 (gint64)([sec] * GST_SECOND)))
                                std::cout << "\nSucessfully Seeked\n";

                 gst_element_set_state (data->playbin, GST_STATE_PLAYING);

Sent from:
gstreamer-devel mailing list
[hidden email]