GNOME Bugzilla – Bug 754984
OpenSlesSink problems with appsrc
Last modified: 2018-01-15 17:16:26 UTC
Hi, I'm new here and I have found a problem with the default android audio sink. I'm using gst_parse_launch("playbin") to create my pipeline. If I use appsrc:\\ as url and and configure the appsrc within the source-setup callback with: format=GST_FORMAT_TIME, is-live=false, do-timestamp=false, block=true and stream-type=GST_APP_STREAM_TYPE_SEEKABLE the current position of the pipeline freezes after seeking. The Timestamps of the pushed buffers are generated as followed: GST_BUFFER_PTS(buffer) = audiotimestamp; GST_BUFFER_DURATION(buffer) = getFrameTime(audio_caps, gst_buffer_get_size(buffer)); audiotimestamp += GST_BUFFER_DURATION(buffer); getFrameTime calculates the duration of the current byte array by its size and the caps. After seeking the "seek-data" callback of the appsrc will be called where I set the audiotimestamp to the given offset. 1) If I use the openslessink with its default configuration the playback works great but after seeking the first time the current position "gst_element_query_position(pipeline, ..." doesn't change anymore but the sound keeps playing. 2) If I set "gst_base_sink_set_async_enabled" to false for the audio sink the position will update after seeking but the sound stops playing and I get the following warnings "0x5cad0600 gstaudiobasesink.c:1507:gst_audio_base_sink_skew_slaving:<audiosink> correct clock skew -24378431 < -20000000" Is this a bug or do I have to change someting?
It's hard to say, could you attach a small test program that we can use to reproduce the issue?
Closing this bug report as no further information has been provided. Please feel free to reopen this bug report if you can provide the information that was asked for in a previous comment. Thanks!