Browse Source

test: pcr_sync: check IO mismatch error

pull/143/head
Alaric Senat 4 years ago
committed by Tristan Matthews
parent
commit
2c67e7af2c
  1. 26
      test/modules/stream_out/pcr_sync.c

26
test/modules/stream_out/pcr_sync.c

@ -470,6 +470,31 @@ test_PCRHelperSplitFrameInput(vlc_pcr_sync_t *sync,
assert(pcr == VLC_TICK_INVALID);
}
static void test_PCRHelperIOMismatch(vlc_pcr_sync_t *sync,
transcode_track_pcr_helper_t *pcr_helper)
{
const vlc_frame_t in_frame = {.i_dts = 1u, .i_length = 10u};
vlc_tick_t dropped_frame_pcr;
transcode_track_pcr_helper_SignalEnteringFrame(
pcr_helper, &in_frame, &dropped_frame_pcr);
assert(dropped_frame_pcr == VLC_TICK_INVALID);
assert(vlc_pcr_sync_SignalPCR(sync, 10u) == VLC_SUCCESS);
const vlc_frame_t out_frame1 = {.i_dts = 2000u, .i_length = 10u};
const vlc_frame_t out_frame2 = {.i_dts = 2010u, .i_length = 10u};
vlc_tick_t pcr;
int status = transcode_track_pcr_helper_SignalLeavingFrame(
pcr_helper, &out_frame1, &pcr);
assert(status == VLC_SUCCESS);
assert(pcr == 10u);
status = transcode_track_pcr_helper_SignalLeavingFrame(
pcr_helper, &out_frame2, &pcr);
assert(status == VLC_EGENERIC);
assert(pcr == VLC_TICK_INVALID);
}
int main()
{
test_Run(test_Simple);
@ -488,4 +513,5 @@ int main()
test_PCRHelper(test_PCRHelperMultipleTracks);
test_PCRHelper(test_PCRHelperSplitFrameOutput);
test_PCRHelper(test_PCRHelperSplitFrameInput);
test_PCRHelper(test_PCRHelperIOMismatch);
}

Loading…
Cancel
Save