1tests/data/live_no_endlist.m3u8: TAG = GEN
2tests/data/live_no_endlist.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
3	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
4        -f lavfi -v verbose -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=20" -f hls -hls_time 3 -map 0 \
5        -hls_flags omit_endlist -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/live_no_endlist_%03d.ts \
6        $(TARGET_PATH)/tests/data/live_no_endlist.m3u8 2>/dev/null
7
8FATE_HLSENC-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-hls-live-no-endlist
9fate-hls-live-no-endlist: tests/data/live_no_endlist.m3u8
10fate-hls-live-no-endlist: SRC = $(TARGET_PATH)/tests/data/live_no_endlist.m3u8
11fate-hls-live-no-endlist: CMD = md5 -i $(SRC) -af hdcd=process_stereo=false -t 6 -f s24le
12fate-hls-live-no-endlist: CMP = oneline
13fate-hls-live-no-endlist: REF = e038bb8e65d4c1745b9b3ed643e607a3
14
15tests/data/live_last_endlist.m3u8: TAG = GEN
16tests/data/live_last_endlist.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
17	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
18        -f lavfi -v verbose -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=20" -f hls -hls_time 3 -map 0 \
19        -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/live_last_endlist_%03d.ts \
20        $(TARGET_PATH)/tests/data/live_last_endlist.m3u8 2>/dev/null
21
22FATE_HLSENC-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-hls-live-last-endlist
23fate-hls-live-last-endlist: tests/data/live_last_endlist.m3u8
24fate-hls-live-last-endlist: SRC = $(TARGET_PATH)/tests/data/live_last_endlist.m3u8
25fate-hls-live-last-endlist: CMD = md5 -i $(SRC) -af hdcd=process_stereo=false -t 6 -f s24le
26fate-hls-live-last-endlist: CMP = oneline
27fate-hls-live-last-endlist: REF = 2ca8567092dcf01e37bedd50454d1ab7
28
29
30tests/data/live_endlist.m3u8: TAG = GEN
31tests/data/live_endlist.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
32	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
33        -f lavfi -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=20" -f hls -hls_time 3 -map 0 \
34        -hls_list_size 0 -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/live_endlist_%d.ts \
35        $(TARGET_PATH)/tests/data/live_endlist.m3u8 2>/dev/null
36
37FATE_HLSENC-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-hls-live-endlist
38fate-hls-live-endlist: tests/data/live_endlist.m3u8
39fate-hls-live-endlist: SRC = $(TARGET_PATH)/tests/data/live_endlist.m3u8
40fate-hls-live-endlist: CMD = md5 -i $(SRC) -af hdcd=process_stereo=false -t 20 -f s24le
41fate-hls-live-endlist: CMP = oneline
42fate-hls-live-endlist: REF = e189ce781d9c87882f58e3929455167b
43
44tests/data/hls_segment_size.m3u8: TAG = GEN
45tests/data/hls_segment_size.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
46	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
47	-f lavfi -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=20" -f hls -hls_segment_size 300000 -map 0 \
48	-hls_list_size 0 -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/hls_segment_size_%d.ts \
49	$(TARGET_PATH)/tests/data/hls_segment_size.m3u8 2>/dev/null
50
51FATE_HLSENC-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-hls-segment-size
52fate-hls-segment-size: tests/data/hls_segment_size.m3u8
53fate-hls-segment-size: CMD = framecrc -auto_conversion_filters -flags +bitexact -i $(TARGET_PATH)/tests/data/hls_segment_size.m3u8 -vf setpts=N*23
54
55tests/data/hls_segment_single.m3u8: TAG = GEN
56tests/data/hls_segment_single.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
57	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
58	-f lavfi -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=20" -f hls -hls_flags single_file -map 0 \
59	-hls_list_size 0 -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/hls_segment_single.ts \
60	$(TARGET_PATH)/tests/data/hls_segment_single.m3u8 2>/dev/null
61
62FATE_HLSENC-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-hls-segment-single
63fate-hls-segment-single: tests/data/hls_segment_single.m3u8
64fate-hls-segment-single: CMD = framecrc -auto_conversion_filters -flags +bitexact -i $(TARGET_PATH)/tests/data/hls_segment_single.m3u8 -vf setpts=N*23
65
66tests/data/hls_init_time.m3u8: TAG = GEN
67tests/data/hls_init_time.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
68	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
69	-f lavfi -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=11" -f hls -hls_init_time 1 -hls_time 3 -map 0 \
70	-hls_list_size 5 -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/hls_init_time_%d.ts \
71	$(TARGET_PATH)/tests/data/hls_init_time.m3u8 2>/dev/null
72
73FATE_HLSENC-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-hls-init-time
74fate-hls-init-time: tests/data/hls_init_time.m3u8
75fate-hls-init-time: CMD = framecrc -auto_conversion_filters -flags +bitexact -i $(TARGET_PATH)/tests/data/hls_init_time.m3u8 -vf setpts=N*23
76
77tests/data/hls_list_size.m3u8: TAG = GEN
78tests/data/hls_list_size.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
79	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
80	-f lavfi -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=20" -f hls -hls_time 4 -map 0 \
81	-hls_list_size 4 -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/hls_list_size_%d.ts \
82	$(TARGET_PATH)/tests/data/hls_list_size.m3u8 2>/dev/null
83
84FATE_HLSENC-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-hls-list-size
85fate-hls-list-size: tests/data/hls_list_size.m3u8
86fate-hls-list-size: CMD = framecrc -auto_conversion_filters -flags +bitexact -i $(TARGET_PATH)/tests/data/hls_list_size.m3u8 -vf setpts=N*23
87
88tests/data/hls_fmp4.m3u8: TAG = GEN
89tests/data/hls_fmp4.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
90	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
91	-f lavfi -re -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t):d=5" -map 0 -codec:a mp2fixed \
92	-hls_segment_type mpegts -hls_fmp4_init_filename now.mp4 -hls_list_size 0 \
93	-hls_time 1 -hls_segment_filename "$(TARGET_PATH)/tests/data/hls_fmp4_%d.m4s" \
94	$(TARGET_PATH)/tests/data/hls_fmp4.m3u8 2>/dev/null
95
96FATE_HLSENC-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-hls-fmp4
97fate-hls-fmp4: tests/data/hls_fmp4.m3u8
98fate-hls-fmp4: CMD = framecrc -auto_conversion_filters -flags +bitexact -i $(TARGET_PATH)/tests/data/hls_fmp4.m3u8 -vf setpts=N*23
99
100tests/data/hls_fmp4_ac3.m3u8: TAG = GEN
101tests/data/hls_fmp4_ac3.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
102	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
103	-stream_loop 4 -i $(SAMPLES)/ac3/monsters_inc_5.1_448_small.ac3 -c copy -map 0 \
104	-hls_segment_type fmp4 -hls_fmp4_init_filename now_ac3.mp4 -hls_list_size 0 \
105	-hls_time 2 -hls_segment_filename "$(TARGET_PATH)/tests/data/hls_fmp4_ac3_%d.m4s" \
106	$(TARGET_PATH)/tests/data/hls_fmp4_ac3.m3u8 2>/dev/null
107
108FATE_HLSENC_PROBE-$(call ALLYES, HLS_DEMUXER EAC3_DEMUXER) += fate-hls-fmp4_ac3
109fate-hls-fmp4_ac3: tests/data/hls_fmp4_ac3.m3u8
110fate-hls-fmp4_ac3: CMD = probeaudiostream $(TARGET_PATH)/tests/data/now_ac3.mp4
111
112FATE_SAMPLES_FFMPEG += $(FATE_HLSENC-yes)
113FATE_SAMPLES_FFMPEG_FFPROBE += $(FATE_HLSENC_PROBE-yes)
114fate-hlsenc: $(FATE_HLSENC-yes) $(FATE_HLSENC_PROBE-yes)
115