After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 783314 - Playbin Repeat play / pause , video playback hangs
Playbin Repeat play / pause , video playback hangs
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
1.12.0
Other other
: Normal major
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-06-01 05:49 UTC by rland
Modified: 2018-03-13 02:05 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
A test case (2.84 KB, text/x-csrc)
2017-06-01 05:49 UTC, rland
  Details
android's log+stacktrace (569.08 KB, application/x-bzip)
2017-06-02 07:54 UTC, rland
  Details
backtrace_with_more_detail (126.36 KB, text/plain)
2017-06-05 06:37 UTC, rland
  Details
backtrace_paused_2_playing_playback_hang (134.08 KB, text/plain)
2017-06-13 07:02 UTC, rland
  Details
audioringbuffer-Playbin-Repeat-play-pause-playback-hangs.patch (1.04 KB, patch)
2017-06-20 06:41 UTC, rland
none Details | Review

Description rland 2017-06-01 05:49:52 UTC
Created attachment 352981 [details]
A test case

Playbin to play HLS streams on Android devices,while do pause <=> play switches,video playback frequently freezes/hangs.

I wrote a test case to play HLS stream ,and automatically perform GST_STATE_PLAYING<=>GST_STATE_PAUSED state switch per seconds , always in a few minutes or ten minutes later can reproduce.

Therefore, Android and ubuntu should be able to reproduce, it seems that there is no relationship with which platform.

In addition, I also tried to play mp4 over http, and no reproduction. And I try more than 20 HLS streams can be reproduced all.
Comment 1 rland 2017-06-01 07:28:42 UTC
Android coredump (debuggerd -b <pid> )
------------
Sending request to dump task 28343.


----- pid 28343 at 2017-06-01 15:14:47 -----
Cmd line: com.gst_sdk_tutorials.tutorial_5
ABI: 'arm'

"tutorial_5" sysTid=28343
  #00 pc 0003dc34  /system/lib/libc.so (__epoll_pwait+20)
  #01 pc 00014803  /system/lib/libc.so (epoll_pwait+26)
  #02 pc 00014811  /system/lib/libc.so (epoll_wait+6)
  #03 pc 00012547  /system/lib/libutils.so (android::Looper::pollInner(int)+98)
  #04 pc 00012771  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+92)
  #05 pc 00081cb9  /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
  #06 pc 000b387b  /data/dalvik-cache/arm/system@framework@boot.oat

"Heap thread poo" sysTid=28344
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 000a98af  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+82)
  #02 pc 00235def  /system/lib/libart.so (art::ThreadPool::GetTask(art::Thread*)+50)
  #03 pc 00235d95  /system/lib/libart.so (art::ThreadPoolWorker::Run()+52)
  #04 pc 002365d1  /system/lib/libart.so (art::ThreadPoolWorker::Callback(void*)+52)
  #05 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #06 pc 00014567  /system/lib/libc.so (__start_thread+6)

"Heap thread poo" sysTid=28345
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 000a98af  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+82)
  #02 pc 00235def  /system/lib/libart.so (art::ThreadPool::GetTask(art::Thread*)+50)
  #03 pc 00235d95  /system/lib/libart.so (art::ThreadPoolWorker::Run()+52)
  #04 pc 002365d1  /system/lib/libart.so (art::ThreadPoolWorker::Callback(void*)+52)
  #05 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #06 pc 00014567  /system/lib/libc.so (__start_thread+6)

"Heap thread poo" sysTid=28346
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 000a98af  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+82)
  #02 pc 00235def  /system/lib/libart.so (art::ThreadPool::GetTask(art::Thread*)+50)
  #03 pc 00235d95  /system/lib/libart.so (art::ThreadPoolWorker::Run()+52)
  #04 pc 002365d1  /system/lib/libart.so (art::ThreadPoolWorker::Callback(void*)+52)
  #05 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #06 pc 00014567  /system/lib/libc.so (__start_thread+6)

"Signal Catcher" sysTid=28347
  #00 pc 0003cbb0  /system/lib/libc.so (__rt_sigtimedwait+12)
  #01 pc 00017dd9  /system/lib/libc.so (sigwait+24)
  #02 pc 0021f44b  /system/lib/libart.so (art::SignalCatcher::WaitForSignal(art::Thread*, art::SignalSet&)+66)
  #03 pc 00220f55  /system/lib/libart.so (art::SignalCatcher::Run(void*)+196)
  #04 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #05 pc 00014567  /system/lib/libc.so (__start_thread+6)

"JDWP" sysTid=28348
  #00 pc 0003c40c  /system/lib/libc.so (__pselect6+16)
  #01 pc 00015dd3  /system/lib/libc.so (select+60)
  #02 pc 00286e9f  /system/lib/libart.so (art::JDWP::JdwpAdbState::ProcessIncoming()+186)
  #03 pc 001906a1  /system/lib/libart.so (art::JDWP::JdwpState::Run()+348)
  #04 pc 00191bd7  /system/lib/libart.so (art::JDWP::StartJdwpThread(void*)+10)
  #05 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #06 pc 00014567  /system/lib/libc.so (__start_thread+6)

"ReferenceQueueD" sysTid=28349
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 000a98af  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+82)
  #02 pc 001edf37  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, long long, int, bool, art::ThreadState)+1002)
  #03 pc 001ef359  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, art::mirror::Object*, long long, int, bool, art::ThreadState)+120)
  #04 pc 001fbfbd  /system/lib/libart.so (art::Object_wait(_JNIEnv*, _jobject*)+32)
  #05 pc 000003df  /data/dalvik-cache/arm/system@framework@boot.oat

"FinalizerDaemon" sysTid=28351
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 000a98af  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+82)
  #02 pc 001edf37  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, long long, int, bool, art::ThreadState)+1002)
  #03 pc 001ef359  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, art::mirror::Object*, long long, int, bool, art::ThreadState)+120)
  #04 pc 001fbf95  /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
  #05 pc 0000060b  /data/dalvik-cache/arm/system@framework@boot.oat

"FinalizerWatchd" sysTid=28353
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 000a98af  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+82)
  #02 pc 001edf37  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, long long, int, bool, art::ThreadState)+1002)
  #03 pc 001ef359  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, art::mirror::Object*, long long, int, bool, art::ThreadState)+120)
  #04 pc 001fbfbd  /system/lib/libart.so (art::Object_wait(_JNIEnv*, _jobject*)+32)
  #05 pc 000003df  /data/dalvik-cache/arm/system@framework@boot.oat

"HeapTrimmerDaem" sysTid=28355
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 000a98af  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+82)
  #02 pc 001edf37  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, long long, int, bool, art::ThreadState)+1002)
  #03 pc 001ef359  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, art::mirror::Object*, long long, int, bool, art::ThreadState)+120)
  #04 pc 001fbfbd  /system/lib/libart.so (art::Object_wait(_JNIEnv*, _jobject*)+32)
  #05 pc 000003df  /data/dalvik-cache/arm/system@framework@boot.oat

"GCDaemon" sysTid=28357
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 000a98af  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+82)
  #02 pc 001edf37  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, long long, int, bool, art::ThreadState)+1002)
  #03 pc 001ef359  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, art::mirror::Object*, long long, int, bool, art::ThreadState)+120)
  #04 pc 001fbfbd  /system/lib/libart.so (art::Object_wait(_JNIEnv*, _jobject*)+32)
  #05 pc 000003df  /data/dalvik-cache/arm/system@framework@boot.oat

"Binder_1" sysTid=28359
  #00 pc 0003d120  /system/lib/libc.so (__ioctl+8)
  #01 pc 00042d19  /system/lib/libc.so (ioctl+14)
  #02 pc 0001f3fb  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+190)
  #03 pc 0001f953  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
  #04 pc 0001f9b5  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+48)
  #05 pc 00023cd7  /system/lib/libbinder.so
  #06 pc 00010575  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+112)
  #07 pc 0005fd09  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+72)
  #08 pc 000100e5  /system/lib/libutils.so
  #09 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #10 pc 00014567  /system/lib/libc.so (__start_thread+6)

"Binder_2" sysTid=28360
  #00 pc 0003d120  /system/lib/libc.so (__ioctl+8)
  #01 pc 00042d19  /system/lib/libc.so (ioctl+14)
  #02 pc 0001f3fb  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+190)
  #03 pc 0001f953  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
  #04 pc 0001f9b5  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+48)
  #05 pc 00023cd7  /system/lib/libbinder.so
  #06 pc 00010575  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+112)
  #07 pc 0005fd09  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+72)
  #08 pc 000100e5  /system/lib/libutils.so
  #09 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #10 pc 00014567  /system/lib/libc.so (__start_thread+6)

"RenderThread" sysTid=28362
  #00 pc 0003dc34  /system/lib/libc.so (__epoll_pwait+20)
  #01 pc 00014803  /system/lib/libc.so (epoll_pwait+26)
  #02 pc 00014811  /system/lib/libc.so (epoll_wait+6)
  #03 pc 00012547  /system/lib/libutils.so (android::Looper::pollInner(int)+98)
  #04 pc 00012771  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+92)
  #05 pc 0003e581  /system/lib/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+44)
  #06 pc 00010575  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+112)
  #07 pc 0005fd09  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+72)
  #08 pc 000100e5  /system/lib/libutils.so
  #09 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #10 pc 00014567  /system/lib/libc.so (__start_thread+6)

"mali-mem-purge" sysTid=28365
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 00016eab  /system/lib/libc.so (__futex_wait_ex+42)
  #02 pc 0004317d  /system/lib/libc.so (sem_wait+50)
  #03 pc 00051060  /system/lib/egl/libGLES_mali.so
  #04 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #05 pc 00014567  /system/lib/libc.so (__start_thread+6)

"mali-event-hnd" sysTid=28366
  #00 pc 0003c474  /system/lib/libc.so (read+8)
  #01 pc 00025fac  /system/lib/egl/libGLES_mali.so
  #02 pc 0004d8e8  /system/lib/egl/libGLES_mali.so
  #03 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #04 pc 00014567  /system/lib/libc.so (__start_thread+6)

"mali-utility-wo" sysTid=28367
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 00016eab  /system/lib/libc.so (__futex_wait_ex+42)
  #02 pc 0004317d  /system/lib/libc.so (sem_wait+50)
  #03 pc 0004d658  /system/lib/egl/libGLES_mali.so
  #04 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #05 pc 00014567  /system/lib/libc.so (__start_thread+6)

"mali-utility-wo" sysTid=28368
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 00016eab  /system/lib/libc.so (__futex_wait_ex+42)
  #02 pc 0004317d  /system/lib/libc.so (sem_wait+50)
  #03 pc 0004d658  /system/lib/egl/libGLES_mali.so
  #04 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #05 pc 00014567  /system/lib/libc.so (__start_thread+6)

"mali-utility-wo" sysTid=28369
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 00016eab  /system/lib/libc.so (__futex_wait_ex+42)
  #02 pc 0004317d  /system/lib/libc.so (sem_wait+50)
  #03 pc 0004d658  /system/lib/egl/libGLES_mali.so
  #04 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #05 pc 00014567  /system/lib/libc.so (__start_thread+6)

"mali-utility-wo" sysTid=28370
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 00016eab  /system/lib/libc.so (__futex_wait_ex+42)
  #02 pc 0004317d  /system/lib/libc.so (sem_wait+50)
  #03 pc 0004d658  /system/lib/egl/libGLES_mali.so
  #04 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #05 pc 00014567  /system/lib/libc.so (__start_thread+6)

"mali-renderer" sysTid=28371
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 00016eab  /system/lib/libc.so (__futex_wait_ex+42)
  #02 pc 0004317d  /system/lib/libc.so (sem_wait+50)
  #03 pc 0004d210  /system/lib/egl/libGLES_mali.so
  #04 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #05 pc 00014567  /system/lib/libc.so (__start_thread+6)

"mali-hist-dump" sysTid=28372
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 00016eab  /system/lib/libc.so (__futex_wait_ex+42)
  #02 pc 0004317d  /system/lib/libc.so (sem_wait+50)
  #03 pc 0002961c  /system/lib/egl/libGLES_mali.so
  #04 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #05 pc 00014567  /system/lib/libc.so (__start_thread+6)

"AsyncTask #1" sysTid=28375
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 000a98af  /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+82)
  #02 pc 001edf37  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, long long, int, bool, art::ThreadState)+1002)
  #03 pc 001ef359  /system/lib/libart.so (art::Monitor::Wait(art::Thread*, art::mirror::Object*, long long, int, bool, art::ThreadState)+120)
  #04 pc 001fbf95  /system/lib/libart.so (art::Object_waitJI(_JNIEnv*, _jobject*, long long, int)+36)
  #05 pc 0000060b  /data/dalvik-cache/arm/system@framework@boot.oat

"Binder_3" sysTid=28387
  #00 pc 0003d120  /system/lib/libc.so (__ioctl+8)
  #01 pc 00042d19  /system/lib/libc.so (ioctl+14)
  #02 pc 0001f3fb  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+190)
  #03 pc 0001f953  /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
  #04 pc 0001f9b5  /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+48)
  #05 pc 00023cd7  /system/lib/libbinder.so
  #06 pc 00010575  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+112)
  #07 pc 0005fd09  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+72)
  #08 pc 000100e5  /system/lib/libutils.so
  #09 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #10 pc 00014567  /system/lib/libc.so (__start_thread+6)

"GstPlayer" sysTid=28646
  #00 pc 0003d968  /system/lib/libc.so (__ppoll+16)
  #01 pc 00015d5d  /system/lib/libc.so (poll+32)
  #02 pc 01477085  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #03 pc 0147736d  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (g_main_loop_run+204)
  #05 pc 0148c0d5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #06 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #07 pc 00014567  /system/lib/libc.so (__start_thread+6)

"source:src" sysTid=28649
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 0001650d  /system/lib/libc.so (__pthread_cond_timedwait_relative(pthread_cond_t*, pthread_mutex_t*, timespec const*)+56)
  #02 pc 0149d27d  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (g_cond_wait+20)
  #03 pc 01421f6f  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #04 pc 0148c653  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #05 pc 0148c0d5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #06 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #07 pc 00014567  /system/lib/libc.so (__start_thread+6)

"task2" sysTid=28650
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 0001650d  /system/lib/libc.so (__pthread_cond_timedwait_relative(pthread_cond_t*, pthread_mutex_t*, timespec const*)+56)
  #02 pc 0149d27d  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (g_cond_wait+20)
  #03 pc 00e97235  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #04 pc 00e97c4b  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #05 pc 01421f51  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #06 pc 0148c653  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #07 pc 0148c0d5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #08 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #09 pc 00014567  /system/lib/libc.so (__start_thread+6)

"souphttpsrc0:sr" sysTid=28651
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 0001650d  /system/lib/libc.so (__pthread_cond_timedwait_relative(pthread_cond_t*, pthread_mutex_t*, timespec const*)+56)
  #02 pc 0149d27d  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (g_cond_wait+20)
  #03 pc 01421f6f  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #04 pc 0148c653  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #05 pc 0148c0d5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #06 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #07 pc 00014567  /system/lib/libc.so (__start_thread+6)

"queue0:src" sysTid=28652
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 0001650d  /system/lib/libc.so (__pthread_cond_timedwait_relative(pthread_cond_t*, pthread_mutex_t*, timespec const*)+56)
  #02 pc 0149d27d  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (g_cond_wait+20)
  #03 pc 013c7c59  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_data_queue_push+220)
  #04 pc 012d52ab  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #05 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #06 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #07 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #08 pc 00e941c9  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_adaptive_demux_stream_push_buffer+776)
  #09 pc 00de20c5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #10 pc 00de22cf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #11 pc 00e917cd  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #12 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #13 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #14 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #15 pc 013f07bf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_proxy_pad_chain_default+110)
  #16 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #17 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #18 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #19 pc 012da543  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #20 pc 01421f51  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #21 pc 0148c653  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #22 pc 0148c0d5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #23 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #24 pc 00014567  /system/lib/libc.so (__start_thread+6)

"multiqueue0:src" sysTid=28653
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 0001650d  /system/lib/libc.so (__pthread_cond_timedwait_relative(pthread_cond_t*, pthread_mutex_t*, timespec const*)+56)
  #02 pc 0149d27d  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (g_cond_wait+20)
  #03 pc 013c7c59  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_data_queue_push+220)
  #04 pc 012d52ab  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #05 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #06 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #07 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #08 pc 00b07dd1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #09 pc 00b08877  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #10 pc 00b0273b  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #11 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #12 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #13 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #14 pc 012d79cb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #15 pc 01421f51  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #16 pc 0148c653  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #17 pc 0148c0d5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #18 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #19 pc 00014567  /system/lib/libc.so (__start_thread+6)

"Thread-232" sysTid=28654
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 00016eab  /system/lib/libc.so (__futex_wait_ex+42)
  #02 pc 000171f3  /system/lib/libc.so (pthread_mutex_lock+232)
  #03 pc 013521b7  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #04 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #05 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #06 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #07 pc 013bcc4b  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #08 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #09 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #10 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #11 pc 013a985b  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_base_parse_push_frame+2394)
  #12 pc 013ab6e5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_base_parse_finish_frame+1116)
  #13 pc 00d1e6a1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #14 pc 013a5803  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #15 pc 013aa13d  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #16 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #17 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #18 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #19 pc 012d79cb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #20 pc 01421f51  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #21 pc 0148c653  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #22 pc 0148c0d5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #23 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #24 pc 00014567  /system/lib/libc.so (__start_thread+6)

"multiqueue1:src" sysTid=28655
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 0001650d  /system/lib/libc.so (__pthread_cond_timedwait_relative(pthread_cond_t*, pthread_mutex_t*, timespec const*)+56)
  #02 pc 0149d27d  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (g_cond_wait+20)
  #03 pc 012db3e3  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #04 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #05 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #06 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #07 pc 013f07bf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_proxy_pad_chain_default+110)
  #08 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #09 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #10 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #11 pc 010b98a3  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #12 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #13 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #14 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #15 pc 012e6927  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #16 pc 012e6d6b  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #17 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #18 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #19 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #20 pc 013f07bf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_proxy_pad_chain_default+110)
  #21 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #22 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #23 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #24 pc 012d0ffd  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #25 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #26 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #27 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #28 pc 013f07bf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_proxy_pad_chain_default+110)
  #29 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #30 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #31 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #32 pc 013f07bf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_proxy_pad_chain_default+110)
  #33 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #34 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #35 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #36 pc 013026db  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #37 pc 01302d29  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #38 pc 0130790b  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_audio_decoder_finish_frame+2682)
  #39 pc 0034ac77  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #40 pc 01303ff5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #41 pc 01304417  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #42 pc 013058b5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #43 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #44 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #45 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #46 pc 013a985b  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_base_parse_push_frame+2394)
  #47 pc 013ab6e5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_base_parse_finish_frame+1116)
  #48 pc 010150e1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #49 pc 013a5803  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #50 pc 013aa13d  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #51 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #52 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #53 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #54 pc 012d79cb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #55 pc 01421f51  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #56 pc 0148c653  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #57 pc 0148c0d5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #58 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #59 pc 00014567  /system/lib/libc.so (__start_thread+6)

"gldisplay-event" sysTid=28656
  #00 pc 0003d968  /system/lib/libc.so (__ppoll+16)
  #01 pc 00015d5d  /system/lib/libc.so (poll+32)
  #02 pc 01477085  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #03 pc 0147736d  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (g_main_loop_run+204)
  #04 pc 00c7647d  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #05 pc 0148c0d5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #06 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #07 pc 00014567  /system/lib/libc.so (__start_thread+6)

"Thread-236" sysTid=28657
  #00 pc 0003d968  /system/lib/libc.so (__ppoll+16)
  #01 pc 00015d5d  /system/lib/libc.so (poll+32)
  #02 pc 01477085  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #03 pc 0147736d  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (g_main_loop_run+204)
  #04 pc 00c886ad  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #05 pc 00c78e2d  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #06 pc 0148c0d5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #07 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #08 pc 00014567  /system/lib/libc.so (__start_thread+6)

"MediaCodec_loop" sysTid=28658
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 0001650d  /system/lib/libc.so (__pthread_cond_timedwait_relative(pthread_cond_t*, pthread_mutex_t*, timespec const*)+56)
  #02 pc 0000be1f  /system/lib/libstagefright_foundation.so (android::ALooper::loop()+62)
  #03 pc 00010575  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+112)
  #04 pc 0005fd09  /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+72)
  #05 pc 000100e5  /system/lib/libutils.so
  #06 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #07 pc 00014567  /system/lib/libc.so (__start_thread+6)

"JNISurfaceTextu" sysTid=28659
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 0001650d  /system/lib/libc.so (__pthread_cond_timedwait_relative(pthread_cond_t*, pthread_mutex_t*, timespec const*)+56)
  #02 pc 0000be1f  /system/lib/libstagefright_foundation.so (android::ALooper::loop()+62)
  #03 pc 00010575  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+112)
  #04 pc 000100e5  /system/lib/libutils.so
  #05 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #06 pc 00014567  /system/lib/libc.so (__start_thread+6)

"Thread-234" sysTid=28669
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 0001650d  /system/lib/libc.so (__pthread_cond_timedwait_relative(pthread_cond_t*, pthread_mutex_t*, timespec const*)+56)
  #02 pc 0149d27d  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (g_cond_wait+20)
  #03 pc 012db3e3  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #04 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #05 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #06 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #07 pc 013f07bf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_proxy_pad_chain_default+110)
  #08 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #09 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #10 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #11 pc 013f07bf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_proxy_pad_chain_default+110)
  #12 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #13 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #14 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #15 pc 013bcc4b  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #16 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #17 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #18 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #19 pc 013f07bf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_proxy_pad_chain_default+110)
  #20 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #21 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #22 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #23 pc 010b98a3  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #24 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #25 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #26 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #27 pc 013f07bf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_proxy_pad_chain_default+110)
  #28 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #29 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #30 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #31 pc 012d0ffd  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #32 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #33 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #34 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #35 pc 013f07bf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_proxy_pad_chain_default+110)
  #36 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #37 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #38 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #39 pc 013f07bf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_proxy_pad_chain_default+110)
  #40 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #41 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #42 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #43 pc 01350e9f  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #44 pc 01355b01  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_video_decoder_finish_frame+456)
  #45 pc 00c5fee9  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #46 pc 01421f51  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #47 pc 0148c653  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #48 pc 0148c0d5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #49 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #50 pc 00014567  /system/lib/libc.so (__start_thread+6)

"vqueue:src" sysTid=28673
  #00 pc 0003d968  /system/lib/libc.so (__ppoll+16)
  #01 pc 00015d5d  /system/lib/libc.so (poll+32)
  #02 pc 0140c253  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_poll_wait+634)
  #03 pc 0141ca83  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #04 pc 013df7cf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_clock_id_wait+238)
  #05 pc 013b312f  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_base_sink_wait_clock+254)
  #06 pc 013b4047  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #07 pc 013b49d3  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #08 pc 013b5b1d  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #09 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #10 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #11 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #12 pc 013bcc4b  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #13 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #14 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #15 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #16 pc 013bcc4b  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #17 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #18 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #19 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #20 pc 013bcc4b  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #21 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #22 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #23 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #24 pc 013f07bf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_proxy_pad_chain_default+110)
  #25 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #26 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #27 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #28 pc 013f07bf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_proxy_pad_chain_default+110)
  #29 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #30 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #31 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #32 pc 013bcc4b  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #33 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #34 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #35 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #36 pc 013bcc4b  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #37 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #38 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #39 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #40 pc 013f07bf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_proxy_pad_chain_default+110)
  #41 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #42 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #43 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #44 pc 012da543  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #45 pc 01421f51  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #46 pc 0148c653  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #47 pc 0148c0d5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #48 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #49 pc 00014567  /system/lib/libc.so (__start_thread+6)

"aqueue:src" sysTid=28674
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 0001650d  /system/lib/libc.so (__pthread_cond_timedwait_relative(pthread_cond_t*, pthread_mutex_t*, timespec const*)+56)
  #02 pc 0149d27d  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (g_cond_wait+20)
  #03 pc 012fc719  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #04 pc 012fccdb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #05 pc 01311209  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #06 pc 013b57c1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #07 pc 013b5b1d  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #08 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #09 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #10 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #11 pc 013f07bf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_proxy_pad_chain_default+110)
  #12 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #13 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #14 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #15 pc 013bcc4b  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #16 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #17 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #18 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #19 pc 013bcc4b  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #20 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #21 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #22 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #23 pc 013bcc4b  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #24 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #25 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #26 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #27 pc 013f07bf  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_proxy_pad_chain_default+110)
  #28 pc 013fbec1  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #29 pc 013fd387  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #30 pc 014024fb  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so (gst_pad_push+254)
  #31 pc 012da543  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #32 pc 01421f51  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #33 pc 0148c653  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #34 pc 0148c0d5  /data/app/com.gst_sdk_tutorials.tutorial_5-1/lib/arm/libgstreamer_android.so
  #35 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #36 pc 00014567  /system/lib/libc.so (__start_thread+6)

"AudioTrack" sysTid=28675
  #00 pc 000129c4  /system/lib/libc.so (syscall+28)
  #01 pc 0001650d  /system/lib/libc.so (__pthread_cond_timedwait_relative(pthread_cond_t*, pthread_mutex_t*, timespec const*)+56)
  #02 pc 0004d2e7  /system/lib/libmedia.so (android::AudioTrack::AudioTrackThread::threadLoop()+38)
  #03 pc 00010575  /system/lib/libutils.so (android::Thread::_threadLoop(void*)+112)
  #04 pc 000100e5  /system/lib/libutils.so
  #05 pc 0001663b  /system/lib/libc.so (__pthread_start(void*)+30)
  #06 pc 00014567  /system/lib/libc.so (__start_thread+6)

----- end 28343 -----
Comment 2 Edward Hervey 2017-06-01 09:10:51 UTC
This might be the same issue as #783255
Comment 3 rland 2017-06-02 06:24:01 UTC
Update.
Perhaps, I should update the title. 
Because not only HLS have this issure, I also reproduce in <mp4 over http> on Android.

environment:
https://gstreamer.freedesktop.org/data/pkg/android/1.12.0/gstreamer-1.0-android-universal-1.12.0.tar.bz2
+ 
https://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/gst-sdk/tutorials/android-tutorial-5

Just pause, play,...,pause, play... alternately repeat.
(Maybe an automated script is helpful.
  while(quit) {
      is_playing_desired = !is_playing_desired;
      is_playing_desired ? nativePause() : nativePlay();
      sleep(1); //sleep 1 second
  }
)
Comment 4 rland 2017-06-02 07:54:38 UTC
Created attachment 353050 [details]
android's log+stacktrace

log level:
tutorial-5:GST_LEVEL_DEBUG
basesink:GST_LEVEL_DEBUG
queue:GST_LEVEL_DEBUG
queue_dataflow:GST_LEVEL_DEBUG
multiqueue:GST_LEVEL_DEBUG
souphttpsrc:GST_LEVEL_DEBUG
opensles_ringbuffer:GST_LEVEL_DEBUG
audiosink:GST_LEVEL_DEBUG
playbin:GST_LEVEL_DEBUG
playsink:GST_LEVEL_DEBUG
decodebin:GST_LEVEL_DEBUG
uridecodebin:GST_LEVEL_DEBUG

Almost every time we can see this line:
---
01-03 07:58:59.264  1035  1174 W GStreamer+opensles_ringbuffer: 0:01:06.401702198 0xac5ca960 openslesringbuffer.c:544:_opensles_player_cb:<openslesringbuffer1> No segment available
---
,intuition tells me,maybe aqueue can't put  data for some reason????
Comment 5 rland 2017-06-05 06:37:03 UTC
Created attachment 353165 [details]
backtrace_with_more_detail

More detail.
Comment 6 rland 2017-06-13 07:02:27 UTC
Created attachment 353654 [details]
backtrace_paused_2_playing_playback_hang

Sorry, previously  provides a playing-> paused state of the stacktrace, It seems  nothing unusual.

I snapshoted the paused-> playing stacktrace.

1.Thread 43 in gst_amc_video_dec_loop() L1250 hold GST_VIDEO_DECODER_STREAM_LOCK(self)

then call sequence(see Thread 33,bt49 ~ bt1):
gstvideodecoder.c:3055 gst_video_decoder_clip_and_push_buf() =>
gstvideodecoder.c:3200 gst_video_decoder_clip_and_push_buf() =>
...                      
gstpad.c:4457          gst_pad_push_data()                   =>
gstpad.c:4205          gst_pad_chain_data_unchecked()        =>
gstghostpad.c:127      gst_proxy_pad_chain_default()         =>
gstpad.c:4576          gst_pad_push()                        =>
gstpad.c:4457          gst_pad_push_data()                   =>
...
gstpad.c:4205          gst_pad_chain_data_unchecked()        =>
gstqueue.c:1228        gst_queue_chain_buffer_or_list() 

vqueue blocked for full.

2.Thread 23 
bt 5:gst_amc_video_dec_handle_frame() L2198 want GST_VIDEO_DECODER_STREAM_LOCK (self),but the thread 33 hold at this time.

3.Thread 24
bt 7: gst_queue_chain_buffer_or_list() L1228 block for full.
aqueue blocked for full.

4.Thread 45
bt 7,
 gstaudioringbuffer.c:1591 default_commit(),
     diff = 10
     segtotal = 10

diff == segtotal ,

blocked in wait_segment() L1364


Above 1,2, this situation will lead to deadlock well?
and can't understand why thread 45, default_commit will block.
Comment 7 rland 2017-06-13 07:09:29 UTC
(In reply to shakin@outlook.com from comment #6)
> Created attachment 353654 [details]
> backtrace_paused_2_playing_playback_hang
> 
> Sorry, previously  provides a playing-> paused state of the stacktrace, It
> seems  nothing unusual.
> 
> I snapshoted the paused-> playing stacktrace.
> 
> 1.Thread 43 in gst_amc_video_dec_loop() L1250 hold
> GST_VIDEO_DECODER_STREAM_LOCK(self)
> 
> then call sequence(see Thread 33,bt49 ~ bt1):
see Thread 33,bt49 ~ bt1 => see Thread 43,bt49 ~ bt1

> gstvideodecoder.c:3055 gst_video_decoder_finish_frame()      =>
> gstvideodecoder.c:3200 gst_video_decoder_clip_and_push_buf() =>
> ...                      
> gstpad.c:4457          gst_pad_push_data()                   =>
> gstpad.c:4205          gst_pad_chain_data_unchecked()        =>
> gstghostpad.c:127      gst_proxy_pad_chain_default()         =>
> gstpad.c:4576          gst_pad_push()                        =>
> gstpad.c:4457          gst_pad_push_data()                   =>
> ...
> gstpad.c:4205          gst_pad_chain_data_unchecked()        =>
> gstqueue.c:1228        gst_queue_chain_buffer_or_list() 
> 
> vqueue blocked for full.
> 
> 2.Thread 23 
> bt 5:gst_amc_video_dec_handle_frame() L2198 want
> GST_VIDEO_DECODER_STREAM_LOCK (self),but the thread 33 hold at this time.
> 
but the thread 33 hold at this time. => but the thread 43 hold at this time.

> 3.Thread 24
> bt 7: gst_queue_chain_buffer_or_list() L1228 block for full.
> aqueue blocked for full.
> 
> 4.Thread 45
> bt 7,
>  gstaudioringbuffer.c:1591 default_commit(),
>      diff = 10
>      segtotal = 10
> 
> diff == segtotal ,
> 
> blocked in wait_segment() L1364
> 
> 
> Above 1,2, this situation will lead to deadlock well?
> and can't understand why thread 45, default_commit will block.
Comment 8 rland 2017-06-13 07:20:59 UTC
(In reply to Edward Hervey from comment #2)
> This might be the same issue as #783255

Sorry for reply so late . 
I have tested that even with #783255 patch, HLS playback still has this issure.
Comment 9 rland 2017-06-20 06:41:33 UTC
Created attachment 354076 [details] [review]
audioringbuffer-Playbin-Repeat-play-pause-playback-hangs.patch

This patch can work for me.please review it.
The problem is subtle.

Audio render was requesting to write in ringbuffer,which is suspended by a pause request,that interrupts a complete segment write.
----
01-02 07:14:18.536 25519 25906 D  [gstaudioringbuffer.c:1574] <ringbuffer> pointer at 8744, write to 8754-0, diff 10, segtotal 10, segsize 3528, base 0
01-02 07:14:18.536 25519 25906 D  [gstaudioringbuffer.c:1395] <ringbuffer> not allowed to start
01-02 07:14:18.536 25519 25906 D  [gstaudioringbuffer.c:1661] <ringbuffer> stopped processing
01-02 07:14:18.536 25519 25906 D  [gstaudiobasesink.c:2200] <audiobasesink> wrote 913 of 941
01-02 07:14:18.536 25519 25906 D  [gstbasesink.c:2265] <basesink> waiting in preroll for flush or PLAYING
....
01-02 07:14:20.397 25519 25906 D  [gstaudiobasesink.c:2200] <audiobasesink> wrote 0 of 28
...
01-02 07:14:20.907 25519 25906 D  [gstaudiobasesink.c:2200] <audiobasesink> wrote 0 of 28
...
01-02 07:14:21.330 25519 25906 D  [gstaudiobasesink.c:2200] <audiobasesink> wrote 0 of 28
...
01-02 07:14:21.848 25519 25906 D  [gstaudiobasesink.c:2200] <audiobasesink> wrote 0 of 28
...
-----
As shown in the log,
*At Nth time, in PLAYING, desired write segment length=941,
Paused, actually written length=913

diff == segtotal,There is not enough space,to wait for the ringbuffer to have the remaining space, that is, the device consumes the data in the ringbuffer.

*At (N+1)th time,PAUSED,desired write left segment length=28,
But in the consumer thread(openslesringbuffer.c:_opensles_player_cb()->gst_audio_ring_buffer_prepare_read()), we judge the ringbuffer state,fail when nothing is started and just return, let opensles does not read any data.
 
Let's take a look at the opensles callback function call stack and see what happens,
----
  • #0 android::AudioTrack::stop
    at frameworks/av/media/libmedia/AudioTrack.cpp line 548
  • #1 audioTrack_callBack_pullFromBuffQueue
    at frameworks/wilhelm/src/android/AudioPlayer_to_android.cpp line 1264
  • #2 android::AudioTrack::processAudioBuffer
    at frameworks/av/media/libmedia/AudioTrack.cpp line 1782
  • #3 android::AudioTrack::AudioTrackThread::threadLoop
    at frameworks/av/media/libmedia/AudioTrack.cpp line 2145
  • #4 android::Thread::_threadLoop
    at system/core/libutils/Threads.cpp line 776
  • #5 thread_data_t::trampoline
    at system/core/libutils/Threads.cpp line 101
  • #6 __pthread_start
    at bionic/libc/bionic/pthread_create.cpp line 141
  • #7 __start_thread
    at bionic/libc/bionic/clone.cpp line 41
  • #8 ??
  • #0 android::AudioTrack::stop
    at frameworks/av/media/libmedia/AudioTrack.cpp line 548
  • #1 audioTrack_callBack_pullFromBuffQueue
    at frameworks/wilhelm/src/android/AudioPlayer_to_android.cpp line 1264
  • #2 android::AudioTrack::processAudioBuffer
    at frameworks/av/media/libmedia/AudioTrack.cpp line 1782

So the problem occurs, the producer thread needs to write data without space and wait to be consumed, and the consumer thread because of a wrong state judge, did not read the data and suspended the callback function, leading to this state will continue forever until someone flushing ringbuffer or exit.
Comment 10 Sebastian Dröge (slomo) 2017-07-11 19:04:13 UTC
Does this also happen with 1.10.5, or is it a new bug in 1.12?
Comment 11 rland 2017-07-18 01:21:53 UTC
(In reply to Sebastian Dröge (slomo) from comment #10)
> Does this also happen with 1.10.5, or is it a new bug in 1.12?

I guess this should not be a new Bug.I almost tried all stable version which can be used(1.6.4,1.8.3,1.10.5,1.12.0,etc).
Comment 12 Sebastian Dröge (slomo) 2017-07-18 06:47:57 UTC
Ok, thanks!
Comment 13 rland 2018-03-13 02:05:56 UTC
More clearly of the use scene,
Due to this bug:
https://bugzilla.gnome.org/show_bug.cgi? Id = 740101

I use amcvideodec + ffmpeg's audiodecoder combination,
patch make sense to me,as mentioned above. -).

But maybe people don't necessarily have this way, so I want to close this bug, but anyone can feel free open it for any reason.