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.