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

Steven Liu lingjiujianke at gmail.com
Mon Oct 19 05:13:59 EEST 2020


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.
>
> --
> Best Regards,
> Nachiket Tarate

Thanks

Steven


More information about the ffmpeg-devel mailing list