[gst-devel] PLAy->PAUSE Issue with alsasink

sudarshan bisht bisht.sudarshan at gmail.com
Sun May 31 07:48:51 CEST 2009


Hi ,       I have few questions .

       Why are you using navtest plugin to perform PLAY/PAUSE/SEEK ? because
that can be done using your application also.

   And what is the implementation of navtest i mean what exactly you are
doing in that plugin  ?




On Sat, May 30, 2009 at 6:57 PM, Suresh Choudary <sikkim.suresh at gmail.com>wrote:

> Dear All,
>
> I am using the following pipeline with gstreamer version 0.10.22 and latest
> plugins.
>
> gst-launch filesrc location=/home/testh263.3gp ! qtdemux name=demux
> demux.audio_00 ! queue ! amrdecoder ! navtest ! alsasink demux.video ! queue
> ! h263decoder ! v4l2sink
>
> where navtest is a simple plugin which allows user to PLAY/PAUSE/SEEK.
>
> Overall the pipeline is as follows from application point of view.
>
>                                  |----------> queue ---> amrdecoder
> --->alsasink
> filesrc--->qtdemux   ----|
>
> |----------->queue---->h263decoder--->v4l2sink
>
> Where I am using the open source alsasink and custom decoders. When I try
> to set the pipeline to PAUSED state, some times (1 out of 10 times) all the
> components can transition to PAUSED state, but alsasink sends a ASYNC
> notification, but never commits to paused state. (As the part log below
> shows the same.I have enabled only basesink logs)
>
>
>
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> 0:02:07.538391114   865    0xcfdd0 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:2911:gst_base_sink_chain_unlocked:<avsysvideosink0>
> got times start: 0:00:23.648648648, end: 0:00:23.690357023
>
> 0:02:07.538726807   865    0xcfdd0 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:1534:gst_base_sink_get_sync_times:<avsysvideosink0>
> got times start: 0:00:23.648648648, stop: 0:00:23.690357023, do_sync 1
>
> 0:02:07.538970948   865    0xcfdd0 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:1984:gst_base_sink_do_sync:<avsysvideosink0>
> possibly waiting for clock to reach 0:00:23.648648648, adjusted
> 0:00:23.648648648
>
> 0:02:07.590026856   865    0xcfe80 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:4099:gst_base_sink_change_state:<avsysvideosink0>
> PLAYING to PAUSED
>
> 0:02:07.611236573   865    0xcfe80 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:2846:gst_base_sink_needs_preroll:<avsysvideosink0>
> have_preroll: 0, EOS: 0 => needs preroll: 1
>
> 0:02:07.611511231   865    0xcfe80 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:4131:gst_base_sink_change_state:<avsysvideosink0>
> PLAYING to PAUSED, we are not prerolled
>
> 0:02:07.611694336   865    0xcfe80 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:4135:gst_base_sink_change_state:<avsysvideosink0>
> doing async state change
>
> 0:02:07.612030030   865    0xcfe80 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:4144:gst_base_sink_change_state:<avsysvideosink0>
> rendered: 13, dropped: 53
>
> [gst_avsysvideosink_change_state:835]GST_STATE_CHANGE_PLAYING_TO_PAUSED
>
> 0:02:07.612487793   865    0xcfdd0 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:1990:gst_base_sink_do_sync:<avsysvideosink0>
> clock returned 2
>
> 0:02:07.612731934   865    0xcfdd0 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:2003:gst_base_sink_do_sync:<avsysvideosink0>
> unscheduled, waiting some more
>
> 0:02:07.612915039   865    0xcfdd0 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:1943:gst_base_sink_do_sync:<avsysvideosink0>
> prerolling object 0xe2ad8
>
> 0:02:07.613098145   865    0xcfdd0 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:1357:gst_base_sink_commit_state:<avsysvideosink0>
> commiting state to PAUSED
>
> 0:02:07.613281250   865    0xcfdd0 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:1382:gst_base_sink_commit_state:<avsysvideosink0>
> posting PAUSED state change message
>
> 0:02:07.614196778   865    0xcfdd0 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:1388:gst_base_sink_commit_state:<avsysvideosink0>
> posting async-done message
>
> 0:02:07.614532471   865    0xcfdd0 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:1732:gst_base_sink_wait_preroll:<avsysvideosink0>
> waiting in preroll for flush or PLAYING
>
> *0:02:07.620910645   865    0xcfe80 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:4099:gst_base_sink_change_state:<alsasink0>
> PLAYING to PAUSED*
>
> *0:02:07.621154785   865    0xcfe80 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:2846:gst_base_sink_needs_preroll:<alsasink0>
> have_preroll: 0, EOS: 0 => needs preroll: 1*
>
> *0:02:07.653625489   865    0xcfe80 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:4131:gst_base_sink_change_state:<alsasink0>
> PLAYING to PAUSED, we are not prerolled*
>
> *0:02:07.653900147   865    0xcfe80 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:4135:gst_base_sink_change_state:<alsasink0>
> doing async state change*
>
> 0:02:07.654205323   865    0xcfe80 DEBUG             basesink
> /home/root/x2//middleware/multimedia-framework/media-service/gstreamer/gstreamer-0.10.22/./libs/gst/base/gstbasesink.c:4144:gst_base_sink_change_state:<alsasink0>
> rendered: 157, dropped: 0
>
> PAUSED
>
>
>
>
>
> But after this the audio sink (alsasink) can not commit the state to pause.
> I understand this happens because no more buffers are pushed by amrdecoder
> to alsasink but somehow the qtdemux is also blocked and sends no data to
> amrdecoder which may cause the sink to get one buffer and get prerolled and
> commit the state.
>
>
>
> I want to enquire if anyone of you have faced similar issue, and how to go
> about this issue. Please help me resolve this issue.
>
>
>
> BR,
>
> Suresh
>
>
>
>
> ------------------------------------------------------------------------------
> Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
> is a gathering of tech-side developers & brand creativity professionals.
> Meet
> the minds behind Google Creative Lab, Visual Complexity, Processing, &
> iPhoneDevCamp as they present alongside digital heavyweights like Barbarian
> Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>


-- 
Regards,

Sudarshan Bisht
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20090531/304d1723/attachment.htm>


More information about the gstreamer-devel mailing list