From 5dab98182ac6e64d62cd873b5cbc0dd50a7007ca Mon Sep 17 00:00:00 2001
From: erankor <eran.kornblau@kaltura.com>
Date: Wed, 16 Mar 2016 00:45:07 +0200
Subject: [PATCH] add seek tests for encrypted mp4

one for aac (sample encryption), one for avc (subsample encryption)
---
 tests/fate/seek.mak        | 24 +++++++++++++++++++++
 tests/ref/seek/enc-mp4-aac | 53 ++++++++++++++++++++++++++++++++++++++++++++++
 tests/ref/seek/enc-mp4-avc | 53 ++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 130 insertions(+)
 create mode 100644 tests/ref/seek/enc-mp4-aac
 create mode 100644 tests/ref/seek/enc-mp4-avc

diff --git a/tests/fate/seek.mak b/tests/fate/seek.mak
index 4722cd4..6bb84e1 100644
--- a/tests/fate/seek.mak
+++ b/tests/fate/seek.mak
@@ -243,6 +243,30 @@ FATE_SEEK += $(FATE_SEEK_LAVF-yes:%=fate-seek-lavf-%)
 
 # extra files
 
+tests/data/enc-aac.mp4: TAG = GEN
+tests/data/enc-aac.mp4: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
+	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
+        -f lavfi -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t)::d=20" -f mov -flags +bitexact -codec:a aac \
+        -encryption_scheme cenc-aes-ctr -encryption_key 12345678901234567890123456789012 \
+        -encryption_kid 12345678901234567890123456789012 \
+        -y $(TARGET_PATH)/$@ 2>/dev/null
+
+FATE_SEEK_EXTRA-$(call ENCDEC, AAC, MOV)         += fate-seek-enc-mp4-aac
+fate-seek-enc-mp4-aac: tests/data/enc-aac.mp4
+fate-seek-enc-mp4-aac: CMD = run libavformat/seek-test$(EXESUF) $(TARGET_PATH)/tests/data/enc-aac.mp4 -decryption_key 12345678901234567890123456789012
+
+tests/data/enc-avc.mp4: TAG = GEN
+tests/data/enc-avc.mp4: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
+	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
+        -f rawvideo -pix_fmt rgb24 -t 10 -r 30 -s 320x240 -i /dev/zero -f mov -flags +bitexact -codec:v libx264 \
+        -encryption_scheme cenc-aes-ctr -encryption_key 12345678901234567890123456789012 \
+        -encryption_kid 12345678901234567890123456789012 \
+        -y $(TARGET_PATH)/$@ 2>/dev/null
+
+FATE_SEEK_EXTRA-$(call ALLYES,  LIBX264_ENCODER, MOV_ENCODER, MOV_DECODER)         += fate-seek-enc-mp4-avc
+fate-seek-enc-mp4-avc: tests/data/enc-avc.mp4
+fate-seek-enc-mp4-avc: CMD = run libavformat/seek-test$(EXESUF) $(TARGET_PATH)/tests/data/enc-avc.mp4 -decryption_key 12345678901234567890123456789012
+
 FATE_SEEK_EXTRA-$(CONFIG_MP3_DEMUXER)   += fate-seek-extra-mp3
 FATE_SEEK_EXTRA-$(call ALLYES, CACHE_PROTOCOL PIPE_PROTOCOL MP3_DEMUXER) += fate-seek-cache-pipe
 fate-seek-extra-mp3:  CMD = run libavformat/seek-test$(EXESUF) $(TARGET_SAMPLES)/gapless/gapless.mp3 -fastseek 1
diff --git a/tests/ref/seek/enc-mp4-aac b/tests/ref/seek/enc-mp4-aac
new file mode 100644
index 0000000..f1c395d
--- /dev/null
+++ b/tests/ref/seek/enc-mp4-aac
@@ -0,0 +1,53 @@
+ret: 0         st: 0 flags:1 dts:-0.023220 pts:-0.023220 pos:     36 size:   286
+ret: 0         st:-1 flags:0  ts:-1.000000
+ret: 0         st: 0 flags:1 dts:-0.023220 pts:-0.023220 pos:     36 size:   286
+ret: 0         st:-1 flags:1  ts: 1.894167
+ret: 0         st: 0 flags:1 dts: 1.880816 pts: 1.880816 pos:  16769 size:   224
+ret: 0         st: 0 flags:0  ts: 0.788345
+ret: 0         st: 0 flags:1 dts: 0.789478 pts: 0.789478 pos:   7196 size:   206
+ret: 0         st: 0 flags:1  ts:-0.317506
+ret: 0         st: 0 flags:1 dts:-0.023220 pts:-0.023220 pos:     36 size:   286
+ret: 0         st:-1 flags:0  ts: 2.576668
+ret: 0         st: 0 flags:1 dts: 2.577415 pts: 2.577415 pos:  22827 size:   203
+ret: 0         st:-1 flags:1  ts: 1.470835
+ret: 0         st: 0 flags:1 dts: 1.462857 pts: 1.462857 pos:  13234 size:   224
+ret: 0         st: 0 flags:0  ts: 0.365011
+ret: 0         st: 0 flags:1 dts: 0.371519 pts: 0.371519 pos:   3489 size:   246
+ret: 0         st: 0 flags:1  ts:-0.740839
+ret: 0         st: 0 flags:1 dts:-0.023220 pts:-0.023220 pos:     36 size:   286
+ret: 0         st:-1 flags:0  ts: 2.153336
+ret: 0         st: 0 flags:1 dts: 2.159456 pts: 2.159456 pos:  19192 size:   194
+ret: 0         st:-1 flags:1  ts: 1.047503
+ret: 0         st: 0 flags:1 dts: 1.044898 pts: 1.044898 pos:   9465 size:   212
+ret: 0         st: 0 flags:0  ts:-0.058322
+ret: 0         st: 0 flags:1 dts:-0.023220 pts:-0.023220 pos:     36 size:   286
+ret: 0         st: 0 flags:1  ts: 2.835828
+ret: 0         st: 0 flags:1 dts: 2.832834 pts: 2.832834 pos:  24949 size:   203
+ret: 0         st:-1 flags:0  ts: 1.730004
+ret: 0         st: 0 flags:1 dts: 1.741497 pts: 1.741497 pos:  15617 size:   155
+ret: 0         st:-1 flags:1  ts: 0.624171
+ret: 0         st: 0 flags:1 dts: 0.603719 pts: 0.603719 pos:   5548 size:   216
+ret: 0         st: 0 flags:0  ts:-0.481655
+ret: 0         st: 0 flags:1 dts:-0.023220 pts:-0.023220 pos:     36 size:   286
+ret: 0         st: 0 flags:1  ts: 2.412494
+ret: 0         st: 0 flags:1 dts: 2.391655 pts: 2.391655 pos:  21199 size:   209
+ret: 0         st:-1 flags:0  ts: 1.306672
+ret: 0         st: 0 flags:1 dts: 1.323537 pts: 1.323537 pos:  11886 size:   205
+ret: 0         st:-1 flags:1  ts: 0.200839
+ret: 0         st: 0 flags:1 dts: 0.185760 pts: 0.185760 pos:   1881 size:   214
+ret: 0         st: 0 flags:0  ts:-0.904989
+ret: 0         st: 0 flags:1 dts:-0.023220 pts:-0.023220 pos:     36 size:   286
+ret: 0         st: 0 flags:1  ts: 1.989184
+ret: 0         st: 0 flags:1 dts: 1.973696 pts: 1.973696 pos:  17566 size:   198
+ret: 0         st:-1 flags:0  ts: 0.883340
+ret: 0         st: 0 flags:1 dts: 0.905578 pts: 0.905578 pos:   8206 size:   195
+ret: 0         st:-1 flags:1  ts:-0.222493
+ret: 0         st: 0 flags:1 dts:-0.023220 pts:-0.023220 pos:     36 size:   286
+ret: 0         st: 0 flags:0  ts: 2.671678
+ret: 0         st: 0 flags:1 dts: 2.693515 pts: 2.693515 pos:  23786 size:   183
+ret: 0         st: 0 flags:1  ts: 1.565850
+ret: 0         st: 0 flags:1 dts: 1.555737 pts: 1.555737 pos:  14095 size:   215
+ret: 0         st:-1 flags:0  ts: 0.460008
+ret: 0         st: 0 flags:1 dts: 0.464399 pts: 0.464399 pos:   4311 size:   203
+ret: 0         st:-1 flags:1  ts:-0.645825
+ret: 0         st: 0 flags:1 dts:-0.023220 pts:-0.023220 pos:     36 size:   286
diff --git a/tests/ref/seek/enc-mp4-avc b/tests/ref/seek/enc-mp4-avc
new file mode 100644
index 0000000..ed5e6f5
--- /dev/null
+++ b/tests/ref/seek/enc-mp4-avc
@@ -0,0 +1,53 @@
+ret: 0         st: 0 flags:1 dts:-0.066667 pts: 0.000000 pos:     36 size:   742
+ret: 0         st:-1 flags:0  ts:-1.000000
+ret: 0         st: 0 flags:1 dts:-0.066667 pts: 0.000000 pos:     36 size:   742
+ret: 0         st:-1 flags:1  ts: 1.894167
+ret: 0         st: 0 flags:1 dts:-0.066667 pts: 0.000000 pos:     36 size:   742
+ret: 0         st: 0 flags:0  ts: 0.788346
+ret: 0         st: 0 flags:1 dts: 8.266667 pts: 8.333333 pos:   4946 size:    54
+ret: 0         st: 0 flags:1  ts:-0.317513
+ret: 0         st: 0 flags:1 dts:-0.066667 pts: 0.000000 pos:     36 size:   742
+ret: 0         st:-1 flags:0  ts: 2.576668
+ret: 0         st: 0 flags:1 dts: 8.266667 pts: 8.333333 pos:   4946 size:    54
+ret: 0         st:-1 flags:1  ts: 1.470835
+ret: 0         st: 0 flags:1 dts:-0.066667 pts: 0.000000 pos:     36 size:   742
+ret: 0         st: 0 flags:0  ts: 0.364974
+ret: 0         st: 0 flags:1 dts: 8.266667 pts: 8.333333 pos:   4946 size:    54
+ret: 0         st: 0 flags:1  ts:-0.740820
+ret: 0         st: 0 flags:1 dts:-0.066667 pts: 0.000000 pos:     36 size:   742
+ret: 0         st:-1 flags:0  ts: 2.153336
+ret: 0         st: 0 flags:1 dts: 8.266667 pts: 8.333333 pos:   4946 size:    54
+ret: 0         st:-1 flags:1  ts: 1.047503
+ret: 0         st: 0 flags:1 dts:-0.066667 pts: 0.000000 pos:     36 size:   742
+ret: 0         st: 0 flags:0  ts:-0.058333
+ret: 0         st: 0 flags:1 dts: 8.266667 pts: 8.333333 pos:   4946 size:    54
+ret: 0         st: 0 flags:1  ts: 2.835807
+ret: 0         st: 0 flags:1 dts:-0.066667 pts: 0.000000 pos:     36 size:   742
+ret: 0         st:-1 flags:0  ts: 1.730004
+ret: 0         st: 0 flags:1 dts: 8.266667 pts: 8.333333 pos:   4946 size:    54
+ret: 0         st:-1 flags:1  ts: 0.624171
+ret: 0         st: 0 flags:1 dts:-0.066667 pts: 0.000000 pos:     36 size:   742
+ret: 0         st: 0 flags:0  ts:-0.481641
+ret: 0         st: 0 flags:1 dts:-0.066667 pts: 0.000000 pos:     36 size:   742
+ret: 0         st: 0 flags:1  ts: 2.412500
+ret: 0         st: 0 flags:1 dts:-0.066667 pts: 0.000000 pos:     36 size:   742
+ret: 0         st:-1 flags:0  ts: 1.306672
+ret: 0         st: 0 flags:1 dts: 8.266667 pts: 8.333333 pos:   4946 size:    54
+ret: 0         st:-1 flags:1  ts: 0.200839
+ret: 0         st: 0 flags:1 dts:-0.066667 pts: 0.000000 pos:     36 size:   742
+ret: 0         st: 0 flags:0  ts:-0.905013
+ret: 0         st: 0 flags:1 dts:-0.066667 pts: 0.000000 pos:     36 size:   742
+ret: 0         st: 0 flags:1  ts: 1.989193
+ret: 0         st: 0 flags:1 dts:-0.066667 pts: 0.000000 pos:     36 size:   742
+ret: 0         st:-1 flags:0  ts: 0.883340
+ret: 0         st: 0 flags:1 dts: 8.266667 pts: 8.333333 pos:   4946 size:    54
+ret: 0         st:-1 flags:1  ts:-0.222493
+ret: 0         st: 0 flags:1 dts:-0.066667 pts: 0.000000 pos:     36 size:   742
+ret: 0         st: 0 flags:0  ts: 2.671680
+ret: 0         st: 0 flags:1 dts: 8.266667 pts: 8.333333 pos:   4946 size:    54
+ret: 0         st: 0 flags:1  ts: 1.565820
+ret: 0         st: 0 flags:1 dts:-0.066667 pts: 0.000000 pos:     36 size:   742
+ret: 0         st:-1 flags:0  ts: 0.460008
+ret: 0         st: 0 flags:1 dts: 8.266667 pts: 8.333333 pos:   4946 size:    54
+ret: 0         st:-1 flags:1  ts:-0.645825
+ret: 0         st: 0 flags:1 dts:-0.066667 pts: 0.000000 pos:     36 size:   742
-- 
1.9.0.msysgit.0

