Crash happens in playbin while switching play and pause repeatedly

Yi-Lung Tsai wagamama.tsai at gmail.com
Tue Feb 7 06:53:36 UTC 2017


I develop a video player on Mac and play a h264 video using "playbin" with
"avdec_h264".
When I switch play and pause several times, my player is crashed.

Here are two type of crash logs:
Case 1:
Thread 32 Crashed:: multiqueue52:src_0
0 libgstreamer-1.0.0.dylib 0x000000011786117d gst_buffer_foreach_meta + 189
1 libgstreamer-1.0.0.dylib 0x00000001178635df
gst_buffer_pool_release_buffer + 111
2 libgstreamer-1.0.0.dylib 0x000000011786168b _gst_buffer_dispose + 59
3 libgstreamer-1.0.0.dylib 0x0000000117891c08 gst_mini_object_unref + 248
4 libgstreamer-1.0.0.dylib 0x0000000117891e63 gst_mini_object_replace + 115
5 libgstlibav.so 0x0000000118cc785f gst_ffmpegviddec_get_buffer2 + 1151

Case 2:
Thread 19 Crashed:: multiqueue0:src_0
0 libglib-2.0.0.dylib 0x0000000114941ced g_slice_alloc + 909
1 libgstreamer-1.0.0.dylib 0x000000011474a6a4 gst_buffer_new_allocate + 68
2 libgstvideoparsersbad.so 0x0000000114d0f4d1 gst_h264_parse_wrap_nal + 65
3 libgstvideoparsersbad.so 0x0000000114d0d7f7 gst_h264_parse_process_nal +
3383
4 libgstvideoparsersbad.so 0x0000000114d09aab gst_h264_parse_handle_frame +
619
5 libgstbase-1.0.0.dylib 0x00000001146d9a64 gst_base_parse_handle_buffer +
468
6 libgstbase-1.0.0.dylib 0x00000001146d901c gst_base_parse_chain + 1676
7 libgstreamer-1.0.0.dylib 0x0000000114785f64 gst_pad_chain_data_unchecked
+ 196
8 libgstreamer-1.0.0.dylib 0x0000000114786a3c gst_pad_push_data + 204
9 libgstreamer-1.0.0.dylib 0x000000011478687b gst_pad_push + 283
10 libgstcoreelements.so 0x0000000114c1b612 gst_multi_queue_loop + 2834
11 libgstreamer-1.0.0.dylib 0x00000001147b7473 gst_task_func + 339
12 libglib-2.0.0.dylib 0x000000011494e132 g_thread_pool_thread_proxy + 50
13 libglib-2.0.0.dylib 0x000000011494d1ba g_thread_proxy + 90
14 libsystem_pthread.dylib 0x00007fffa8f54aab _pthread_body + 180
15 libsystem_pthread.dylib 0x00007fffa8f549f7 _pthread_start + 286
16 libsystem_pthread.dylib 0x00007fffa8f541fd thread_start + 13

Initially, according to case 2, I guess the memory is not enough.
But the memory usage of my player is only about 3xx MB, no more than 400 MB.
How do I further clarify this kind of issue?
The other possible cause in my head is switch too quickly.
But I have no idea on how to verify this assumption.

Yi-Lung (Bruce) Tsai
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20170207/ca097533/attachment.html>


More information about the gstreamer-devel mailing list