pili-engineering / PLMediaStreamingKit

PLMediaStreamingKit 是七牛推出的一款适用于 iOS 平台的推流 SDK,支持 RTMP 推流,h.264 和 AAC 编码,硬编、软编支持。具有丰富的数据和状态回调,方便用户根据自己的业务定制化开发。具有直播场景下的重要功能,如:美颜、背景音乐、水印等功能。
https://github.com/pili-engineering/PLMediaStreamingKit
Apache License 2.0
543 stars 243 forks source link

SDK中后台线程调用UI线程 #78

Closed baitxaps closed 6 years ago

baitxaps commented 6 years ago

2017-10-18 15:27:57.657805+0800 TouchTV-Push[4865:1352708] TIC Read Status [2:0x1c0560180]: 1:57 2017-10-18 15:27:57.688165+0800 TouchTV-Push[4865:1352198] [MC] Reading from public effective user settings.

Main Thread Checker: UI API called on a background thread: -[UIView contentMode] PID: 4865, TID: 1352708, Thread name: (none), Queue name: pili.queue.camera.render, QoS: 0 Backtrace: 4 TouchTV-Push 0x00000001009aa904 -[PLGLKView updateVertices] + 28 5 TouchTV-Push 0x00000001009aabdc -[PLGLKView displayPixelBuffer:mirroring:] + 564 6 TouchTV-Push 0x0000000100a07130 69-[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:]_block_invoke_2 + 60 7 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 8 libdispatch.dylib 0x0000000102366d50 _dispatch_queue_barrier_sync_invoke_and_complete + 120 9 TouchTV-Push 0x0000000100a024e0 PLDispatchSync + 72 10 TouchTV-Push 0x0000000100a07094 69-[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:]_block_invoke + 2196 11 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 12 libdispatch.dylib 0x0000000102366d50 _dispatch_queue_barrier_sync_invoke_and_complete + 120 13 TouchTV-Push 0x0000000100a024e0 PLDispatchSync + 72 14 TouchTV-Push 0x0000000100a067dc -[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:] + 224 15 AVFoundation 0x000000018a7555ec + 344 16 AVFoundation 0x000000018a755404 + 100 17 CoreMedia 0x0000000187fd3c78 + 260 18 CoreMedia 0x0000000187ff02d4 + 224 19 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 20 libdispatch.dylib 0x0000000102366800 _dispatch_continuation_pop + 592 21 libdispatch.dylib 0x000000010235b24c _dispatch_source_invoke + 1592 22 libdispatch.dylib 0x0000000102367f30 _dispatch_queue_serial_drain + 212 23 libdispatch.dylib 0x000000010235c9a4 _dispatch_queue_invoke + 332 24 libdispatch.dylib 0x0000000102367f30 _dispatch_queue_serial_drain + 212 25 libdispatch.dylib 0x000000010235c9a4 _dispatch_queue_invoke + 332 26 libdispatch.dylib 0x0000000102369104 _dispatch_root_queue_drain_deferred_wlh + 424 27 libdispatch.dylib 0x0000000102370100 _dispatch_workloop_worker_thread + 652 28 libsystem_pthread.dylib 0x0000000184aa2fe0 _pthread_wqthread + 932 29 libsystem_pthread.dylib 0x0000000184aa2c30 start_wqthread + 4 2017-10-18 15:27:59.569153+0800 TouchTV-Push[4865:1352708] [reports] Main Thread Checker: UI API called on a background thread: -[UIView contentMode] PID: 4865, TID: 1352708, Thread name: (none), Queue name: pili.queue.camera.render, QoS: 0 Backtrace: 4 TouchTV-Push 0x00000001009aa904 -[PLGLKView updateVertices] + 28 5 TouchTV-Push 0x00000001009aabdc -[PLGLKView displayPixelBuffer:mirroring:] + 564 6 TouchTV-Push 0x0000000100a07130 69-[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:]_block_invoke_2 + 60 7 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 8 libdispatch.dylib 0x0000000102366d50 _dispatch_queue_barrier_sync_invoke_and_complete + 120 9 TouchTV-Push 0x0000000100a024e0 PLDispatchSync + 72 10 TouchTV-Push 0x0000000100a07094 69-[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:]_block_invoke + 2196 11 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 12 libdispatch.dylib 0x0000000102366d50 _dispatch_queue_barrier_sync_invoke_and_complete + 120 13 TouchTV-Push 0x0000000100a024e0 PLDispatchSync + 72 14 TouchTV-Push 0x0000000100a067dc -[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:] + 224 15 AVFoundation 0x000000018a7555ec + 344 16 AVFoundation 0x000000018a755404 + 100 17 CoreMedia 0x0000000187fd3c78 + 260 18 CoreMedia 0x0000000187ff02d4 + 224 19 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 20 libdispatch.dylib 0x0000000102366800 _dispatch_continuation_pop + 592 21 libdispatch.dylib 0x000000010235b24c _dispatch_source_invoke + 1592 22 libdispatch.dylib 0x0000000102367f30 _dispatch_queue_serial_drain + 212 23 libdispatch.dylib 0x000000010235c9a4 _dispatch_queue_invoke + 332 24 libdispatch.dylib 0x0000000102367f30 _dispatch_queue_serial_drain + 212 25 libdispatch.dylib 0x000000010235c9a4 _dispatch_queue_invoke + 332 26 libdispatch.dylib 0x0000000102369104 _dispatch_root_queue_drain_deferred_wlh + 424 27 libdispatch.dylib 0x0000000102370100 _dispatch_workloop_worker_thread + 652 28 libsystem_pthread.dylib 0x0000000184aa2fe0 _pthread_wqthread + 932 29 libsystem_pthread.dylib 0x0000000184aa2c30 start_wqthread + 4

Main Thread Checker: UI API called on a background thread: -[UIApplication applicationState] PID: 4865, TID: 1352708, Thread name: (none), Queue name: pili.queue.camera.render, QoS: 0 Backtrace: 4 TouchTV-Push 0x00000001009aacb0 -[PLGLKView displayPixelBuffer:mirroring:] + 776 5 TouchTV-Push 0x0000000100a07130 69-[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:]_block_invoke_2 + 60 6 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 7 libdispatch.dylib 0x0000000102366d50 _dispatch_queue_barrier_sync_invoke_and_complete + 120 8 TouchTV-Push 0x0000000100a024e0 PLDispatchSync + 72 9 TouchTV-Push 0x0000000100a07094 69-[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:]_block_invoke + 2196 10 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 11 libdispatch.dylib 0x0000000102366d50 _dispatch_queue_barrier_sync_invoke_and_complete + 120 12 TouchTV-Push 0x0000000100a024e0 PLDispatchSync + 72 13 TouchTV-Push 0x0000000100a067dc -[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:] + 224 14 AVFoundation 0x000000018a7555ec + 344 15 AVFoundation 0x000000018a755404 + 100 16 CoreMedia 0x0000000187fd3c78 + 260 17 CoreMedia 0x0000000187ff02d4 + 224 18 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 19 libdispatch.dylib 0x0000000102366800 _dispatch_continuation_pop + 592 20 libdispatch.dylib 0x000000010235b24c _dispatch_source_invoke + 1592 21 libdispatch.dylib 0x0000000102367f30 _dispatch_queue_serial_drain + 212 22 libdispatch.dylib 0x000000010235c9a4 _dispatch_queue_invoke + 332 23 libdispatch.dylib 0x0000000102367f30 _dispatch_queue_serial_drain + 212 24 libdispatch.dylib 0x000000010235c9a4 _dispatch_queue_invoke + 332 25 libdispatch.dylib 0x0000000102369104 _dispatch_root_queue_drain_deferred_wlh + 424 26 libdispatch.dylib 0x0000000102370100 _dispatch_workloop_worker_thread + 652 27 libsystem_pthread.dylib 0x0000000184aa2fe0 _pthread_wqthread + 932 28 libsystem_pthread.dylib 0x0000000184aa2c30 start_wqthread + 4 2017-10-18 15:27:59.773129+0800 TouchTV-Push[4865:1352708] [reports] Main Thread Checker: UI API called on a background thread: -[UIApplication applicationState] PID: 4865, TID: 1352708, Thread name: (none), Queue name: pili.queue.camera.render, QoS: 0 Backtrace: 4 TouchTV-Push 0x00000001009aacb0 -[PLGLKView displayPixelBuffer:mirroring:] + 776 5 TouchTV-Push 0x0000000100a07130 69-[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:]_block_invoke_2 + 60 6 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 7 libdispatch.dylib 0x0000000102366d50 _dispatch_queue_barrier_sync_invoke_and_complete + 120 8 TouchTV-Push 0x0000000100a024e0 PLDispatchSync + 72 9 TouchTV-Push 0x0000000100a07094 69-[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:]_block_invoke + 2196 10 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 11 libdispatch.dylib 0x0000000102366d50 _dispatch_queue_barrier_sync_invoke_and_complete + 120 12 TouchTV-Push 0x0000000100a024e0 PLDispatchSync + 72 13 TouchTV-Push 0x0000000100a067dc -[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:] + 224

14 AVFoundation 0x000000018a7555ec + 344 15 AVFoundation 0x000000018a755404 + 100 16 CoreMedia 0x0000000187fd3c78 + 260 17 CoreMedia 0x0000000187ff02d4 + 224 18 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 19 libdispatch.dylib 0x0000000102366800 _dispatch_continuation_pop + 592 20 libdispatch.dylib 0x000000010235b24c _dispatch_source_invoke + 1592 21 libdispatch.dylib 0x0000000102367f30 _dispatch_queue_serial_drain + 212 22 libdispatch.dylib 0x000000010235c9a4 _dispatch_queue_invoke + 332 23 libdispatch.dylib 0x0000000102367f30 _dispatch_queue_serial_drain + 212 24 libdispatch.dylib 0x000000010235c9a4 _dispatch_queue_invoke + 332 25 libdispatch.dylib 0x0000000102369104 _dispatch_root_queue_drain_deferred_wlh + 424 26 libdispatch.dylib 0x0000000102370100 _dispatch_workloop_worker_thread + 652 27 libsystem_pthread.dylib 0x0000000184aa2fe0 _pthread_wqthread + 932 28 libsystem_pthread.dylib 0x0000000184aa2c30 start_wqthread + 4 2017-10-18 15:28:00.551256+0800 TouchTV-Push[4865:1352198] streaming version:git-2017-09-28-e8cda2f0 2017-10-18 15:28:00:556 TouchTV-Push[4865:1352198] [W] Pili-Streaming init:steaming version:git-2017-09-28-e8cda2f0 -[PLStreamingSession initWithVideoStreamingConfiguration:audioStreamingConfiguration:stream:dns:] PLStreamingSession.m:422 2017-10-18 15:28:00:566 TouchTV-Push[4865:1352198] [W] Pili-Streaming init:device info:iPhone 6 Plus:iOS 11.0.2 -[PLStreamingSession initWithVideoStreamingConfiguration:audioStreamingConfiguration:stream:dns:] PLStreamingSession.m:423 2017-10-18 15:28:01:480 TouchTV-Push[4865:1352198] [W] Pili-Render Fail setup GL framebuffer 2208:1242 -[PLGLKView layoutSubviews] PLGLKView.m:277

Main Thread Checker: UI API called on a background thread: -[UIView setContentScaleFactor:] PID: 4865, TID: 1352711, Thread name: (none), Queue name: pili.queue.camera.render, QoS: 0 Backtrace: 4 TouchTV-Push 0x00000001009a9db4 -[PLGLKView initializeBuffers] + 88 5 TouchTV-Push 0x00000001009aab88 -[PLGLKView displayPixelBuffer:mirroring:] + 480 6 TouchTV-Push 0x0000000100a07130 69-[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:]_block_invoke_2 + 60 7 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 8 libdispatch.dylib 0x0000000102366d50 _dispatch_queue_barrier_sync_invoke_and_complete + 120 9 TouchTV-Push 0x0000000100a024e0 PLDispatchSync + 72 10 TouchTV-Push 0x0000000100a07094 69-[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:]_block_invoke + 2196 11 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 12 libdispatch.dylib 0x0000000102366d50 _dispatch_queue_barrier_sync_invoke_and_complete + 120 13 TouchTV-Push 0x0000000100a024e0 PLDispatchSync + 72 14 TouchTV-Push 0x0000000100a067dc -[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:] + 224 15 AVFoundation 0x000000018a7555ec + 344 16 AVFoundation 0x000000018a755404 + 100 17 CoreMedia 0x0000000187fd3c78 + 260 18 CoreMedia 0x0000000187ff02d4 + 224 19 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 20 libdispatch.dylib 0x0000000102366800 _dispatch_continuation_pop + 592 21 libdispatch.dylib 0x000000010235b24c _dispatch_source_invoke + 1592 22 libdispatch.dylib 0x0000000102367f30 _dispatch_queue_serial_drain + 212 23 libdispatch.dylib 0x000000010235c9a4 _dispatch_queue_invoke + 332 24 libdispatch.dylib 0x0000000102367f30 _dispatch_queue_serial_drain + 212 25 libdispatch.dylib 0x000000010235c9a4 _dispatch_queue_invoke + 332 26 libdispatch.dylib 0x0000000102369104 _dispatch_root_queue_drain_deferred_wlh + 424 27 libdispatch.dylib 0x0000000102370100 _dispatch_workloop_worker_thread + 652 28 libsystem_pthread.dylib 0x0000000184aa2fe0 _pthread_wqthread + 932 29 libsystem_pthread.dylib 0x0000000184aa2c30 start_wqthread + 4 2017-10-18 15:28:01.544589+0800 TouchTV-Push[4865:1352711] [reports] Main Thread Checker: UI API called on a background thread: -[UIView setContentScaleFactor:] PID: 4865, TID: 1352711, Thread name: (none), Queue name: pili.queue.camera.render, QoS: 0 Backtrace: 4 TouchTV-Push 0x00000001009a9db4 -[PLGLKView initializeBuffers] + 88 5 TouchTV-Push 0x00000001009aab88 -[PLGLKView displayPixelBuffer:mirroring:] + 480 6 TouchTV-Push 0x0000000100a07130 69-[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:]_block_invoke_2 + 60 7 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 8 libdispatch.dylib 0x0000000102366d50 _dispatch_queue_barrier_sync_invoke_and_complete + 120 9 TouchTV-Push 0x0000000100a024e0 PLDispatchSync + 72 10 TouchTV-Push 0x0000000100a07094 69-[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:]_block_invoke + 2196 11 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 12 libdispatch.dylib 0x0000000102366d50 _dispatch_queue_barrier_sync_invoke_and_complete + 120 13 TouchTV-Push 0x0000000100a024e0 PLDispatchSync + 72 14 TouchTV-Push 0x0000000100a067dc -[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:] + 224 15 AVFoundation 0x000000018a7555ec + 344 16 AVFoundation 0x000000018a755404 + 100 17 CoreMedia 0x0000000187fd3c78 + 260 18 CoreMedia 0x0000000187ff02d4 + 224 19 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 20 libdispatch.dylib 0x0000000102366800 _dispatch_continuation_pop + 592 21 libdispatch.dylib 0x000000010235b24c _dispatch_source_invoke + 1592 22 libdispatch.dylib 0x0000000102367f30 _dispatch_queue_serial_drain + 212 23 libdispatch.dylib 0x000000010235c9a4 _dispatch_queue_invoke + 332 24 libdispatch.dylib 0x0000000102367f30 _dispatch_queue_serial_drain + 212 25 libdispatch.dylib 0x000000010235c9a4 _dispatch_queue_invoke + 332 26 libdispatch.dylib 0x0000000102369104 _dispatch_root_queue_drain_deferred_wlh + 424 27 libdispatch.dylib 0x0000000102370100 _dispatch_workloop_worker_thread + 652 28 libsystem_pthread.dylib 0x0000000184aa2fe0 _pthread_wqthread + 932 29 libsystem_pthread.dylib 0x0000000184aa2c30 start_wqthread + 4

Main Thread Checker: UI API called on a background thread: -[UIView layer] PID: 4865, TID: 1352711, Thread name: (none), Queue name: pili.queue.camera.render, QoS: 0 Backtrace: 4 TouchTV-Push 0x00000001009a9e28 -[PLGLKView initializeBuffers] + 204 5 TouchTV-Push 0x00000001009aab88 -[PLGLKView displayPixelBuffer:mirroring:] + 480 6 TouchTV-Push 0x0000000100a07130 __69-[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:]_block_invoke_2 + 60 7 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 8 libdispatch.dylib 0x0000000102366d50 _dispatch_queue_barrier_sync_invoke_and_complete + 120 9 TouchTV-Push 0x0000000100a024e0 PLDispatchSync + 72 10 TouchTV-Push 0x0000000100a07094 __69-[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:]_block_invoke + 2196 11 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 12 libdispatch.dylib 0x0000000102366d50 _dispatch_queue_barrier_sync_invoke_and_complete + 120 13 TouchTV-Push 0x0000000100a024e0 PLDispatchSync + 72 14 TouchTV-Push 0x0000000100a067dc -[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:] + 224 15 AVFoundation 0x000000018a7555ec + 344 16 AVFoundation 0x000000018a755404 + 100 17 CoreMedia 0x0000000187fd3c78 + 260 18 CoreMedia 0x0000000187ff02d4 + 224 19 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 20 libdispatch.dylib 0x0000000102366800 _dispatch_continuation_pop + 592 21 libdispatch.dylib 0x000000010235b24c _dispatch_source_invoke + 1592

22 libdispatch.dylib 0x0000000102367f30 _dispatch_queue_serial_drain + 212 23 libdispatch.dylib 0x000000010235c9a4 _dispatch_queue_invoke + 332 24 libdispatch.dylib 0x0000000102367f30 _dispatch_queue_serial_drain + 212 25 libdispatch.dylib 0x000000010235c9a4 _dispatch_queue_invoke + 332 26 libdispatch.dylib 0x0000000102369104 _dispatch_root_queue_drain_deferred_wlh + 424 27 libdispatch.dylib 0x0000000102370100 _dispatch_workloop_worker_thread + 652 28 libsystem_pthread.dylib 0x0000000184aa2fe0 _pthread_wqthread + 932 29 libsystem_pthread.dylib 0x0000000184aa2c30 start_wqthread + 4 2017-10-18 15:28:01.738272+0800 TouchTV-Push[4865:1352711] [reports] Main Thread Checker: UI API called on a background thread: -[UIView layer] PID: 4865, TID: 1352711, Thread name: (none), Queue name: pili.queue.camera.render, QoS: 0 Backtrace: 4 TouchTV-Push 0x00000001009a9e28 -[PLGLKView initializeBuffers] + 204 5 TouchTV-Push 0x00000001009aab88 -[PLGLKView displayPixelBuffer:mirroring:] + 480 6 TouchTV-Push 0x0000000100a07130 __69-[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:]_block_invoke_2 + 60 7 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 8 libdispatch.dylib 0x0000000102366d50 _dispatch_queue_barrier_sync_invoke_and_complete + 120 9 TouchTV-Push 0x0000000100a024e0 PLDispatchSync + 72 10 TouchTV-Push 0x0000000100a07094 __69-[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:]_block_invoke + 2196 11 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 12 libdispatch.dylib 0x0000000102366d50 _dispatch_queue_barrier_sync_invoke_and_complete + 120 13 TouchTV-Push 0x0000000100a024e0 PLDispatchSync + 72 14 TouchTV-Push 0x0000000100a067dc -[PLCameraSource captureOutput:didOutputSampleBuffer:fromConnection:] + 224 15 AVFoundation 0x000000018a7555ec + 344 16 AVFoundation 0x000000018a755404 + 100 17 CoreMedia 0x0000000187fd3c78 + 260 18 CoreMedia 0x0000000187ff02d4 + 224 19 libdispatch.dylib 0x000000010235945c _dispatch_client_callout + 16 20 libdispatch.dylib 0x0000000102366800 _dispatch_continuation_pop + 592 21 libdispatch.dylib 0x000000010235b24c _dispatch_source_invoke + 1592 22 libdispatch.dylib 0x0000000102367f30 _dispatch_queue_serial_drain + 212 23 libdispatch.dylib 0x000000010235c9a4 _dispatch_queue_invoke + 332 24 libdispatch.dylib 0x0000000102367f30 _dispatch_queue_serial_drain + 212 25 libdispatch.dylib 0x000000010235c9a4 _dispatch_queue_invoke + 332 26 libdispatch.dylib 0x0000000102369104 _dispatch_root_queue_drain_deferred_wlh + 424 27 libdispatch.dylib 0x0000000102370100 _dispatch_workloop_worker_thread + 652 28 libsystem_pthread.dylib 0x0000000184aa2fe0 _pthread_wqthread + 932 29 libsystem_pthread.dylib 0x0000000184aa2c30 start_wqthread + 4 2017-10-18 15:29:21:186 TouchTV-Push[4865:1352198] [W] Pili-Render Fail setup GL framebuffer 2208:1242 -[PLGLKView layoutSubviews] PLGLKView.m:277

depthlove commented 6 years ago

@baitxaps 请使用最新版本 https://github.com/pili-engineering/PLMediaStreamingKit/releases