[Samsung Galaxy Ace 4] ngoquang2708:
Does YouTube need DRM to be able to play video? Since Android L, DRM has some change in it API, causes old Widevine blobs to crash when YouTube use it.

Here is logcat when YouTube successfully decoded some frames:

--------- beginning of crash
F/libc ( 188): Fatal signal 6 (SIGABRT), code -6 in tid 435 (Binder_1)
I/SprdSimpleOMXComponent( 188): fillThisBuffer, buffer: 0xb5875e30, header: 0xb59e95b0, iRefCount: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 927, outHeader:0xb59e95b0, inHeader: 0xb59e9bf0, len: 635, nOffset: 0, time: 600000, EOS: 0
V/SPRDAVCDecoder( 188): onQueueFilled, 967, dec_in.dataLen: 635, mPicId: 21
V/SPRDAVCDecoder( 188): onQueueFilled, 993, outHeader: 0xb59e95b0, pBuffer: 0xb5993220, phyAddr: 0x20200000
V/SPRDAVCDecoder( 188): onQueueFilled, 1009, pBuffer: 0xb5993220, vaddr: 0xb224f000
V/SPRDAVCDecoder( 188): onQueueFilled, 1012, yuv: b224f000, mPicId: 21, outHeader: b59e95b0, outHeader->pBuffer: b5993220, outHeader->nTimeStamp: 600000
E/VSP ( 188): VSP_ACQUIRE_Dev, 196
E/VSP ( 188): H264DecDecode, 339, g_stream_offset: 4, g_slice_datalen: 631, g_nalu_ptr->len: 631, destuffing_num: 0
E/VSP ( 188): H264Dec_Read_SPS_PPS_SliceHeader, 74, the first byte: 0x41.
E/VSP ( 188): H264Dec_init_picture, 578, dec_picture_ptr->mPicId: 21, imgY: b224f000
E/VSP ( 188): VSP_POLL_COMPLETE, 138, int_ret: 4
E/VSP ( 188): H264Dec_decode_one_slice_data, 788, (mb_x<<8)|(mb_y): f08
I/SPRDAVCDecoder( 188): VSP_bind_cb, ref frame: 0xb5993220, b59e95b0; iRefCount=0
E/VSP ( 188): H264Dec_decode_one_slice_data, 799, finished decoding one frame
I/SPRDAVCDecoder( 188): VSP_unbind_cb, ref frame: 0xb5993460, b59e9100; iRefCount=1
E/VSP ( 188): H264DecDecode_NALU, 881, finished decoding one NALU
E/VSP ( 188): H264DecDecode, 360, g_nalu_ptr->len: 631, frame_dec_finish: 1,ret: 0
E/VSP ( 188): H264DecDecode, 398, exit decoder, error_flag: 0
E/VSP ( 188): VSP_RELEASE_Dev, 254, ret: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 1023, decRet: 0, 1ms, dec_out.frameEffective: 1, needIVOP: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 1106, dec_out.pBufferHeader: b59e9100, dec_out.mPicId: 20
I/SPRDAVCDecoder( 188): drainOneOutputBuffer, 1190, outHeader: b59e9100, outHeader->pBuffer: b5993460, outHeader->nOffset: 0, outHeader->nFlags: 16, outHeader->nTimeStamp: 567000
I/SPRDAVCDecoder( 188): onQueueFilled, get outQueue buffer, return, count=1, queue_size=1
I/SprdSimpleOMXComponent( 188): fillThisBuffer, buffer: 0xb5875e48, header: 0xb59e9100, iRefCount: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 927, outHeader:0xb59e9100, inHeader: 0xb59e9650, len: 52, nOffset: 0, time: 633000, EOS: 0
V/SPRDAVCDecoder( 188): onQueueFilled, 967, dec_in.dataLen: 52, mPicId: 22
V/SPRDAVCDecoder( 188): onQueueFilled, 993, outHeader: 0xb59e9100, pBuffer: 0xb5993460, phyAddr: 0x2022a000
V/SPRDAVCDecoder( 188): onQueueFilled, 1009, pBuffer: 0xb5993460, vaddr: 0xb2225000
V/SPRDAVCDecoder( 188): onQueueFilled, 1012, yuv: b2225000, mPicId: 22, outHeader: b59e9100, outHeader->pBuffer: b5993460, outHeader->nTimeStamp: 633000
E/VSP ( 188): VSP_ACQUIRE_Dev, 196
E/VSP ( 188): H264DecDecode, 339, g_stream_offset: 4, g_slice_datalen: 48, g_nalu_ptr->len: 48, destuffing_num: 0
E/VSP ( 188): H264Dec_Read_SPS_PPS_SliceHeader, 74, the first byte: 0x41.
E/VSP ( 188): H264Dec_init_picture, 578, dec_picture_ptr->mPicId: 22, imgY: b2225000
E/VSP ( 188): VSP_POLL_COMPLETE, 138, int_ret: 4
E/VSP ( 188): H264Dec_decode_one_slice_data, 788, (mb_x<<8)|(mb_y): f08
I/SPRDAVCDecoder( 188): VSP_bind_cb, ref frame: 0xb5993460, b59e9100; iRefCount=0
E/VSP ( 188): H264Dec_decode_one_slice_data, 799, finished decoding one frame
I/SPRDAVCDecoder( 188): VSP_unbind_cb, ref frame: 0xb5993220, b59e95b0; iRefCount=1
E/VSP ( 188): H264DecDecode_NALU, 881, finished decoding one NALU
E/VSP ( 188): H264DecDecode, 360, g_nalu_ptr->len: 48, frame_dec_finish: 1,ret: 0
E/VSP ( 188): H264DecDecode, 398, exit decoder, error_flag: 0
E/VSP ( 188): VSP_RELEASE_Dev, 254, ret: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 1023, decRet: 0, 1ms, dec_out.frameEffective: 1, needIVOP: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 1106, dec_out.pBufferHeader: b59e95b0, dec_out.mPicId: 21
I/SPRDAVCDecoder( 188): drainOneOutputBuffer, 1190, outHeader: b59e95b0, outHeader->pBuffer: b5993220, outHeader->nOffset: 0, outHeader->nFlags: 16, outHeader->nTimeStamp: 600000
I/SPRDAVCDecoder( 188): onQueueFilled, get outQueue buffer, return, count=1, queue_size=1
I/SPRDAVCDecoder( 188): onQueueFilled, get outQueue buffer, return, count=1, queue_size=1
I/SPRDAVCDecoder( 188): onQueueFilled, get outQueue buffer, return, count=1, queue_size=1
I/SprdSimpleOMXComponent( 188): fillThisBuffer, buffer: 0xb5875e30, header: 0xb59e95b0, iRefCount: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 927, outHeader:0xb59e95b0, inHeader: 0xb59e9790, len: 697, nOffset: 0, time: 667000, EOS: 0
V/SPRDAVCDecoder( 188): onQueueFilled, 967, dec_in.dataLen: 697, mPicId: 23
V/SPRDAVCDecoder( 188): onQueueFilled, 993, outHeader: 0xb59e95b0, pBuffer: 0xb5993220, phyAddr: 0x20200000
V/SPRDAVCDecoder( 188): onQueueFilled, 1009, pBuffer: 0xb5993220, vaddr: 0xb224f000
V/SPRDAVCDecoder( 188): onQueueFilled, 1012, yuv: b224f000, mPicId: 23, outHeader: b59e95b0, outHeader->pBuffer: b5993220, outHeader->nTimeStamp: 667000
E/VSP ( 188): VSP_ACQUIRE_Dev, 196
E/VSP ( 188): H264DecDecode, 339, g_stream_offset: 4, g_slice_datalen: 693, g_nalu_ptr->len: 693, destuffing_num: 0
E/VSP ( 188): H264Dec_Read_SPS_PPS_SliceHeader, 74, the first byte: 0x41.
E/VSP ( 188): H264Dec_init_picture, 578, dec_picture_ptr->mPicId: 23, imgY: b224f000
E/VSP ( 188): VSP_POLL_COMPLETE, 138, int_ret: 4
E/VSP ( 188): H264Dec_decode_one_slice_data, 788, (mb_x<<8)|(mb_y): f08
I/SPRDAVCDecoder( 188): VSP_bind_cb, ref frame: 0xb5993220, b59e95b0; iRefCount=0
E/VSP ( 188): H264Dec_decode_one_slice_data, 799, finished decoding one frame
I/SPRDAVCDecoder( 188): VSP_unbind_cb, ref frame: 0xb5993460, b59e9100; iRefCount=1
E/VSP ( 188): H264DecDecode_NALU, 881, finished decoding one NALU
E/VSP ( 188): H264DecDecode, 360, g_nalu_ptr->len: 693, frame_dec_finish: 1,ret: 0
E/VSP ( 188): H264DecDecode, 398, exit decoder, error_flag: 0
E/VSP ( 188): VSP_RELEASE_Dev, 254, ret: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 1023, decRet: 0, 1ms, dec_out.frameEffective: 1, needIVOP: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 1106, dec_out.pBufferHeader: b59e9100, dec_out.mPicId: 22
I/SPRDAVCDecoder( 188): drainOneOutputBuffer, 1190, outHeader: b59e9100, outHeader->pBuffer: b5993460, outHeader->nOffset: 0, outHeader->nFlags: 16, outHeader->nTimeStamp: 633000
I/SPRDAVCDecoder( 188): onQueueFilled, get outQueue buffer, return, count=1, queue_size=1
I/DEBUG ( 179): property debug.db.uid not set; NOT waiting for gdb.
I/DEBUG ( 179): HINT: adb shell setprop debug.db.uid 100000
I/DEBUG ( 179): HINT: adb forward tcp:5039 tcp:5039
I/SprdSimpleOMXComponent( 188): fillThisBuffer, buffer: 0xb5875e38, header: 0xb59e9420, iRefCount: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 927, outHeader:0xb59e9420, inHeader: 0xb59e98d0, len: 902, nOffset: 0, time: 700000, EOS: 0
V/SPRDAVCDecoder( 188): onQueueFilled, 967, dec_in.dataLen: 902, mPicId: 24
V/SPRDAVCDecoder( 188): onQueueFilled, 993, outHeader: 0xb59e9420, pBuffer: 0xb5993400, phyAddr: 0x2020e000
V/SPRDAVCDecoder( 188): onQueueFilled, 1009, pBuffer: 0xb5993400, vaddr: 0xb2241000
V/SPRDAVCDecoder( 188): onQueueFilled, 1012, yuv: b2241000, mPicId: 24, outHeader: b59e9420, outHeader->pBuffer: b5993400, outHeader->nTimeStamp: 700000
E/VSP ( 188): VSP_ACQUIRE_Dev, 196
E/VSP ( 188): H264DecDecode, 339, g_stream_offset: 4, g_slice_datalen: 898, g_nalu_ptr->len: 898, destuffing_num: 0
E/VSP ( 188): H264Dec_Read_SPS_PPS_SliceHeader, 74, the first byte: 0x41.
E/VSP ( 188): H264Dec_init_picture, 578, dec_picture_ptr->mPicId: 24, imgY: b2241000
E/VSP ( 188): VSP_POLL_COMPLETE, 138, int_ret: 4
E/VSP ( 188): H264Dec_decode_one_slice_data, 788, (mb_x<<8)|(mb_y): f08
I/SPRDAVCDecoder( 188): VSP_bind_cb, ref frame: 0xb5993400, b59e9420; iRefCount=0
E/VSP ( 188): H264Dec_decode_one_slice_data, 799, finished decoding one frame
I/SPRDAVCDecoder( 188): VSP_unbind_cb, ref frame: 0xb5993220, b59e95b0; iRefCount=1
E/VSP ( 188): H264DecDecode_NALU, 881, finished decoding one NALU
E/VSP ( 188): H264DecDecode, 360, g_nalu_ptr->len: 898, frame_dec_finish: 1,ret: 0
E/VSP ( 188): H264DecDecode, 398, exit decoder, error_flag: 0
E/VSP ( 188): VSP_RELEASE_Dev, 254, ret: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 1023, decRet: 0, 1ms, dec_out.frameEffective: 1, needIVOP: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 1106, dec_out.pBufferHeader: b59e95b0, dec_out.mPicId: 23
I/SPRDAVCDecoder( 188): drainOneOutputBuffer, 1190, outHeader: b59e95b0, outHeader->pBuffer: b5993220, outHeader->nOffset: 0, outHeader->nFlags: 16, outHeader->nTimeStamp: 667000
I/SPRDAVCDecoder( 188): onQueueFilled, get outQueue buffer, return, count=1, queue_size=1
I/SPRDAVCDecoder( 188): onQueueFilled, get outQueue buffer, return, count=1, queue_size=1
I/SPRDAVCDecoder( 188): onQueueFilled, get outQueue buffer, return, count=1, queue_size=1
I/SprdSimpleOMXComponent( 188): fillThisBuffer, buffer: 0xb5875e30, header: 0xb59e95b0, iRefCount: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 927, outHeader:0xb59e95b0, inHeader: 0xb5875ec0, len: 880, nOffset: 0, time: 734000, EOS: 0
V/SPRDAVCDecoder( 188): onQueueFilled, 967, dec_in.dataLen: 880, mPicId: 25
V/SPRDAVCDecoder( 188): onQueueFilled, 993, outHeader: 0xb59e95b0, pBuffer: 0xb5993220, phyAddr: 0x20200000
V/SPRDAVCDecoder( 188): onQueueFilled, 1009, pBuffer: 0xb5993220, vaddr: 0xb224f000
V/SPRDAVCDecoder( 188): onQueueFilled, 1012, yuv: b224f000, mPicId: 25, outHeader: b59e95b0, outHeader->pBuffer: b5993220, outHeader->nTimeStamp: 734000
E/VSP ( 188): VSP_ACQUIRE_Dev, 196
E/VSP ( 188): H264DecDecode, 339, g_stream_offset: 4, g_slice_datalen: 876, g_nalu_ptr->len: 876, destuffing_num: 0
E/VSP ( 188): H264Dec_Read_SPS_PPS_SliceHeader, 74, the first byte: 0x41.
E/VSP ( 188): H264Dec_init_picture, 578, dec_picture_ptr->mPicId: 25, imgY: b224f000
E/VSP ( 188): VSP_POLL_COMPLETE, 138, int_ret: 4
E/VSP ( 188): H264Dec_decode_one_slice_data, 788, (mb_x<<8)|(mb_y): f08
I/SPRDAVCDecoder( 188): VSP_bind_cb, ref frame: 0xb5993220, b59e95b0; iRefCount=0
E/VSP ( 188): H264Dec_decode_one_slice_data, 799, finished decoding one frame
I/SPRDAVCDecoder( 188): VSP_unbind_cb, ref frame: 0xb5993400, b59e9420; iRefCount=1
E/VSP ( 188): H264DecDecode_NALU, 881, finished decoding one NALU
E/VSP ( 188): H264DecDecode, 360, g_nalu_ptr->len: 876, frame_dec_finish: 1,ret: 0
E/VSP ( 188): H264DecDecode, 398, exit decoder, error_flag: 0
E/VSP ( 188): VSP_RELEASE_Dev, 254, ret: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 1023, decRet: 0, 1ms, dec_out.frameEffective: 1, needIVOP: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 1106, dec_out.pBufferHeader: b59e9420, dec_out.mPicId: 24
I/SPRDAVCDecoder( 188): drainOneOutputBuffer, 1190, outHeader: b59e9420, outHeader->pBuffer: b5993400, outHeader->nOffset: 0, outHeader->nFlags: 16, outHeader->nTimeStamp: 700000
I/SPRDAVCDecoder( 188): onQueueFilled, get outQueue buffer, return, count=1, queue_size=1
I/SprdSimpleOMXComponent( 188): fillThisBuffer, buffer: 0xb5875e38, header: 0xb59e9420, iRefCount: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 927, outHeader:0xb59e9420, inHeader: 0xb59e9a10, len: 1059, nOffset: 0, time: 767000, EOS: 0
V/SPRDAVCDecoder( 188): onQueueFilled, 967, dec_in.dataLen: 1059, mPicId: 26
V/SPRDAVCDecoder( 188): onQueueFilled, 993, outHeader: 0xb59e9420, pBuffer: 0xb5993400, phyAddr: 0x2020e000
V/SPRDAVCDecoder( 188): onQueueFilled, 1009, pBuffer: 0xb5993400, vaddr: 0xb2241000
V/SPRDAVCDecoder( 188): onQueueFilled, 1012, yuv: b2241000, mPicId: 26, outHeader: b59e9420, outHeader->pBuffer: b5993400, outHeader->nTimeStamp: 767000
E/VSP ( 188): VSP_ACQUIRE_Dev, 196
E/VSP ( 188): H264DecDecode, 339, g_stream_offset: 4, g_slice_datalen: 1055, g_nalu_ptr->len: 1055, destuffing_num: 0
E/VSP ( 188): H264Dec_Read_SPS_PPS_SliceHeader, 74, the first byte: 0x41.
E/VSP ( 188): H264Dec_init_picture, 578, dec_picture_ptr->mPicId: 26, imgY: b2241000
E/VSP ( 188): VSP_POLL_COMPLETE, 138, int_ret: 4
E/VSP ( 188): H264Dec_decode_one_slice_data, 788, (mb_x<<8)|(mb_y): f08
I/SPRDAVCDecoder( 188): VSP_bind_cb, ref frame: 0xb5993400, b59e9420; iRefCount=0
E/VSP ( 188): H264Dec_decode_one_slice_data, 799, finished decoding one frame
I/SPRDAVCDecoder( 188): VSP_unbind_cb, ref frame: 0xb5993220, b59e95b0; iRefCount=1
E/VSP ( 188): H264DecDecode_NALU, 881, finished decoding one NALU
E/VSP ( 188): H264DecDecode, 360, g_nalu_ptr->len: 1055, frame_dec_finish: 1,ret: 0
E/VSP ( 188): H264DecDecode, 398, exit decoder, error_flag: 0
E/VSP ( 188): VSP_RELEASE_Dev, 254, ret: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 1023, decRet: 0, 1ms, dec_out.frameEffective: 1, needIVOP: 0
I/SPRDAVCDecoder( 188): onQueueFilled, 1106, dec_out.pBufferHeader: b59e95b0, dec_out.mPicId: 25
I/SPRDAVCDecoder( 188): drainOneOutputBuffer, 1190, outHeader: b59e95b0, outHeader->pBuffer: b5993220, outHeader->nOffset: 0, outHeader->nFlags: 16, outHeader->nTimeStamp: 734000
I/SPRDAVCDecoder( 188): onQueueFilled, get outQueue buffer, return, count=1, queue_size=1
I/SPRDAVCDecoder( 188): onQueueFilled, get outQueue buffer, return, count=1, queue_size=1
I/SPRDAVCDecoder( 188): onQueueFilled, get outQueue buffer, return, count=1, queue_size=1
I/DEBUG ( 179): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 179): Build fingerprint: 'samsung/cm_vivalto3gvn/vivalto3gvn:5.1.1/LMY49G/dc37b17434:eng/test-keys'
I/DEBUG ( 179): Revision: '0'
I/DEBUG ( 179): ABI: 'arm'
I/DEBUG ( 179): pid: 188, tid: 435, name: Binder_1 >>> /system/bin/mediaserver <<<
I/DEBUG ( 179): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
W/NativeCrashListener( 524): Couldn't find ProcessRecord for pid 188
I/DEBUG ( 179): Abort message: 'new_capacity overflow'
E/DEBUG ( 179): AM write failure (32 / Broken pipe)
I/DEBUG ( 179): r0 00000000 r1 000001b3 r2 00000006 r3 00000000
I/DEBUG ( 179): r4 b34fddb8 r5 00000006 r6 00000016 r7 0000010c
I/DEBUG ( 179): r8 5b7a0d5c r9 b34fdbe8 sl 00000000 fp b34fdbc0
I/DEBUG ( 179): ip 000001b3 sp b34fd650 lr b6ec28f1 pc b6ee5ed0 cpsr 60010010
I/DEBUG ( 179):
I/DEBUG ( 179): backtrace:
I/DEBUG ( 179): #00 pc 00037ed0 /system/lib/libc.so (tgkill+12)
I/DEBUG ( 179): #01 pc 000148ed /system/lib/libc.so (pthread_kill+52)
I/DEBUG ( 179): #02 pc 0001562b /system/lib/libc.so (raise+10)
I/DEBUG ( 179): #03 pc 00011cc5 /system/lib/libc.so (__libc_android_abort+36)
I/DEBUG ( 179): #04 pc 0001005c /system/lib/libc.so (abort+4)
I/DEBUG ( 179): #05 pc 000079d9 /system/lib/libcutils.so (__android_log_assert+88)
I/DEBUG ( 179): #06 pc 0000fedd /system/lib/libutils.so (android::VectorImpl::_grow(unsigned int, unsigned int)+264)
I/DEBUG ( 179): #07 pc 0000ffb9 /system/lib/libutils.so (android::VectorImpl::insertArrayAt(void const*, unsigned int, unsigned int)+20)
I/DEBUG ( 179): #08 pc 00054879 /system/vendor/lib/mediadrm/libwvdrmengine.so (wvdrm::WVDrmPlugin::getProvisionRequest(android::Vector<unsigned char>&, android::String8&)+72)
I/DEBUG ( 179): #09 pc 00037457 /system/lib/libmediaplayerservice.so (android::Drm::getProvisionRequest(android::String8 const&, android::String8 const&, android::Vector<unsigned char>&, android::String8&)+42)
I/DEBUG ( 179): #10 pc 00051007 /system/lib/libmedia.so (android::BnDrm::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+1054)
I/DEBUG ( 179): #11 pc 00018f01 /system/lib/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+60)
I/DEBUG ( 179): #12 pc 0001debb /system/lib/libbinder.so (android::IPCThreadState::executeCommand(int)+582)
I/DEBUG ( 179): #13 pc 0001dfdf /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+38)
I/DEBUG ( 179): #14 pc 0001e021 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+48)
I/DEBUG ( 179): #15 pc 0002219f /system/lib/libbinder.so
I/DEBUG ( 179): #16 pc 0000efa5 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+112)
I/DEBUG ( 179): #17 pc 0000eb15 /system/lib/libutils.so
I/DEBUG ( 179): #18 pc 000140db /system/lib/libc.so (__pthread_start(void*)+30)
I/DEBUG ( 179): #19 pc 00012027 /system/lib/libc.so (__start_thread+6)

The crashing occur when the DRM framework invoke method getProvisionRequest from libwvdrmengine.so.

---------- Post added at 12:12 ---------- Previous post was at 12:07 ----------

I will do some check and update BETA-1. Btw, I will remove the use of Awsomeplayer because problems with NuPlayer is solved.

EDIT: YouTube has no problems when playing 144p videos.