[FFmpeg-devel] [PATCH] libavformat/hls: add support for SAMPLE-AES decryption in HLS demuxer

Steven Liu lq at chinaffmpeg.org
Mon Oct 19 12:47:27 EEST 2020



> 2020年10月19日 下午4:10,Nachiket Tarate <nachiket.tarate at outlook.com> 写道:
> 
> 
> 
> ________________________________________
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> on behalf of Steven Liu <lingjiujianke at gmail.com>
> Sent: Monday, October 19, 2020 7:43 AM
> To: FFmpeg development discussions and patches
> Subject: Re: [FFmpeg-devel] [PATCH] libavformat/hls: add support for SAMPLE-AES decryption in HLS demuxer
> 
> Nachiket Tarate <nachiket.tarate at outlook.com> 于2020年10月18日周日 上午8:07写道:
>> 
>> _______________________________________
>> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> on behalf of Michael Niedermayer <michael at niedermayer.cc>
>> Sent: Thursday, October 15, 2020 11:35 PM
>> To: FFmpeg development discussions and patches
>> Subject: Re: [FFmpeg-devel] [PATCH] libavformat/hls: add support for SAMPLE-AES decryption in HLS demuxer
>> 
>> On Thu, Oct 15, 2020 at 10:15:13PM +0530, Nachiket Tarate wrote:
>>> Apple HTTP Live Streaming Sample Encryption:
>>> 
>>> https://developer.apple.com/library/ios/documentation/AudioVideo/Conceptual/HLS_Sample_Encryption
>>> 
>>> Signed-off-by: Nachiket Tarate <nachiket.tarate at outlook.com>
>>> ---
>>> libavformat/Makefile         |   2 +-
>>> libavformat/hls.c            |  93 ++++++-
>>> libavformat/hls_sample_aes.c | 497 +++++++++++++++++++++++++++++++++++
>>> libavformat/hls_sample_aes.h |  64 +++++
>>> libavformat/mpegts.c         |  15 ++
>>> 5 files changed, 657 insertions(+), 14 deletions(-)
>>> create mode 100644 libavformat/hls_sample_aes.c
>>> create mode 100644 libavformat/hls_sample_aes.h
>> 
>> This seems to break fate (segfault)
>> I guess patchwork will notice it too but as i already tested and noticed ...
>> 
>> --- ./tests/ref/fate/segment-mp4-to-ts  2020-10-10 18:08:06.500253003 +0200
>> +++ tests/data/fate/segment-mp4-to-ts   2020-10-15 20:03:24.586303460 +0200
>> @@ -128,5 +128,3 @@
>> 0,     428400,     435600,     3600,      156, 0xd2c3406c, F=0x0, S=1,        1, 0x00e000e0
>> 0,     432000,     439200,     3600,      330, 0x150d9b60, F=0x0, S=1,        1, 0x00e000e0
>> 0,     435600,     446400,     3600,      324, 0x558194ee, F=0x0, S=1,        1, 0x00e000e0
>> -0,     439200,     442800,     3600,      191, 0x108e54d1, F=0x0, S=1,        1, 0x00e000e0
>> -0,     442800,     450000,     3600,      233, 0xac5b6486, F=0x0
>> Test segment-mp4-to-ts failed. Look at tests/data/fate/segment-mp4-to-ts.err for details.
>> tests/Makefile:255: recipe for target 'fate-segment-mp4-to-ts' failed
>> make: *** [fate-segment-mp4-to-ts] Error 139
>> 
>> 
>> I ran FATE with samples again but I didn't get segfault. Can you please help me to reproduce it ?
> 
> https://patchwork.ffmpeg.org/project/ffmpeg/patch/SG2PR01MB269339627C977C841E26B05DF2020@SG2PR01MB2693.apcprd01.prod.exchangelabs.com/
> fate failed message here.
> 
> TEST    segment-mp4-to-ts
> --- /Users/liuqi/multimedia/upstream_ffmpeg/ffmpeg/tests/ref/fate/segment-mp4-to-ts
> 2020-10-19 09:24:15.000000000 +0800
> +++ tests/data/fate/segment-mp4-to-ts 2020-10-19 10:09:43.000000000 +0800
> @@ -128,5 +128,3 @@
> 0,     428400,     435600,     3600,      156, 0xd2c3406c, F=0x0,
> S=1,        1, 0x00e000e0
> 0,     432000,     439200,     3600,      330, 0x150d9b60, F=0x0,
> S=1,        1, 0x00e000e0
> 0,     435600,     446400,     3600,      324, 0x558194ee, F=0x0,
> S=1,        1, 0x00e000e0
> -0,     439200,     442800,     3600,      191, 0x108e54d1, F=0x0,
> S=1,        1, 0x00e000e0
> -0,     442800,     450000,     3600,      233, 0xac5b6486, F=0x0
> Test segment-mp4-to-ts failed. Look at
> tests/data/fate/segment-mp4-to-ts.err for details.
> make: *** [fate-segment-mp4-to-ts] Error 134
> (base) liuqi05:ufbuild liuqi$ history |grep make | tail -n 5
>  318  make -j6
>  319  make fate-rsync
>  320  make fate
> 
> (base) liuqi05:ufbuild liuqi$ ./ffmpeg
> ffmpeg version N-99556-gf7e2f090ed Copyright (c) 2000-2020 the FFmpeg developers
>  built with Apple clang version 12.0.0 (clang-1200.0.32.2)
>  configuration: --cc=clang --quiet --enable-htmlpages
> --enable-libx264 --enable-libxml2 --enable-gpl --extra-ldflags='-O0
> -g3 -fsanitize=address -Wno-error -fPIC -I/usr/local/include'
> --extra-ldflags='-O0 -g3 -fsanitize=address -Wno-error -fPIC
> -L/usr/local/lib' --enable-libfreetype --enable-fontconfig
> --enable-libspeex --enable-libopus --enable-libzmq --enable-libx265
> --enable-libass --enable-videotoolbox --disable-optimizations
> --enable-audiotoolbox --enable-opengl --disable-stripping
> --samples=../../fate-suite/
> 
> 
> need use samples --samples=../../fate-suite/
> and make fate-rsync
> 
> after above two step, you can make fate reproduce it.
> 
> 
> Actually, I did
> 
> make fate-rsync SAMPLES=fate-suite/
> make fate SAMPLES=fate-suite/
> 
> It is same.
> 
> But segmentation fault didn't occur while executing segment-mp4-to-ts.
What your configure options?

> 
> Any idea ?
> 
> --
> Best Regards,
> Nachiket Tarate
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".

Thanks

Steven Liu





More information about the ffmpeg-devel mailing list