mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 11:11:08 +00:00
check: add rtsp range checks
This commit is contained in:
parent
25580430b0
commit
81c1172ded
1 changed files with 84 additions and 0 deletions
|
@ -25,6 +25,7 @@
|
|||
#include <gst/check/gstcheck.h>
|
||||
|
||||
#include <gst/rtsp/gstrtspurl.h>
|
||||
#include <gst/rtsp/gstrtsprange.h>
|
||||
#include <string.h>
|
||||
|
||||
GST_START_TEST (test_rtsp_url_basic)
|
||||
|
@ -120,6 +121,88 @@ GST_START_TEST (test_rtsp_url_components_3)
|
|||
|
||||
GST_END_TEST;
|
||||
|
||||
GST_START_TEST (test_rtsp_range_npt)
|
||||
{
|
||||
GstRTSPTimeRange *range;
|
||||
|
||||
fail_unless (gst_rtsp_range_parse ("npt=", &range) == GST_RTSP_EINVAL);
|
||||
fail_unless (gst_rtsp_range_parse ("npt=0", &range) == GST_RTSP_EINVAL);
|
||||
fail_unless (gst_rtsp_range_parse ("npt=-", &range) == GST_RTSP_EINVAL);
|
||||
fail_unless (gst_rtsp_range_parse ("npt=now", &range) == GST_RTSP_EINVAL);
|
||||
|
||||
fail_unless (gst_rtsp_range_parse ("npt=-now", &range) == GST_RTSP_OK);
|
||||
fail_unless (range->unit == GST_RTSP_RANGE_NPT);
|
||||
fail_unless (range->min.type == GST_RTSP_TIME_END);
|
||||
fail_unless (range->max.type == GST_RTSP_TIME_NOW);
|
||||
gst_rtsp_range_free (range);
|
||||
|
||||
fail_unless (gst_rtsp_range_parse ("npt=now-now", &range) == GST_RTSP_OK);
|
||||
fail_unless (range->unit == GST_RTSP_RANGE_NPT);
|
||||
fail_unless (range->min.type == GST_RTSP_TIME_NOW);
|
||||
fail_unless (range->max.type == GST_RTSP_TIME_NOW);
|
||||
gst_rtsp_range_free (range);
|
||||
|
||||
fail_unless (gst_rtsp_range_parse ("npt=now-", &range) == GST_RTSP_OK);
|
||||
fail_unless (range->unit == GST_RTSP_RANGE_NPT);
|
||||
fail_unless (range->min.type == GST_RTSP_TIME_NOW);
|
||||
fail_unless (range->max.type == GST_RTSP_TIME_END);
|
||||
gst_rtsp_range_free (range);
|
||||
|
||||
fail_unless (gst_rtsp_range_parse ("npt=now-34.12", &range) == GST_RTSP_OK);
|
||||
fail_unless (range->unit == GST_RTSP_RANGE_NPT);
|
||||
fail_unless (range->min.type == GST_RTSP_TIME_NOW);
|
||||
fail_unless (range->max.type == GST_RTSP_TIME_SECONDS);
|
||||
fail_unless (range->max.seconds == 34.12);
|
||||
gst_rtsp_range_free (range);
|
||||
|
||||
fail_unless (gst_rtsp_range_parse ("npt=23,89-now", &range) == GST_RTSP_OK);
|
||||
fail_unless (range->unit == GST_RTSP_RANGE_NPT);
|
||||
fail_unless (range->min.type == GST_RTSP_TIME_SECONDS);
|
||||
fail_unless (range->min.seconds == 23.89);
|
||||
fail_unless (range->max.type == GST_RTSP_TIME_NOW);
|
||||
gst_rtsp_range_free (range);
|
||||
|
||||
fail_unless (gst_rtsp_range_parse ("npt=-12.09", &range) == GST_RTSP_OK);
|
||||
fail_unless (range->unit == GST_RTSP_RANGE_NPT);
|
||||
fail_unless (range->min.type == GST_RTSP_TIME_END);
|
||||
fail_unless (range->max.type == GST_RTSP_TIME_SECONDS);
|
||||
fail_unless (range->max.seconds == 12.09);
|
||||
gst_rtsp_range_free (range);
|
||||
|
||||
fail_unless (gst_rtsp_range_parse ("npt=0-", &range) == GST_RTSP_OK);
|
||||
fail_unless (range->unit == GST_RTSP_RANGE_NPT);
|
||||
fail_unless (range->min.type == GST_RTSP_TIME_SECONDS);
|
||||
fail_unless (range->min.seconds == 0.0);
|
||||
fail_unless (range->max.type == GST_RTSP_TIME_END);
|
||||
gst_rtsp_range_free (range);
|
||||
|
||||
|
||||
fail_unless (gst_rtsp_range_parse ("npt=1.123-", &range) == GST_RTSP_OK);
|
||||
fail_unless (range->unit == GST_RTSP_RANGE_NPT);
|
||||
fail_unless (range->min.type == GST_RTSP_TIME_SECONDS);
|
||||
fail_unless (range->min.seconds == 1.123);
|
||||
fail_unless (range->max.type == GST_RTSP_TIME_END);
|
||||
gst_rtsp_range_free (range);
|
||||
|
||||
fail_unless (gst_rtsp_range_parse ("npt=10,20-20.10", &range) == GST_RTSP_OK);
|
||||
fail_unless (range->unit == GST_RTSP_RANGE_NPT);
|
||||
fail_unless (range->min.type == GST_RTSP_TIME_SECONDS);
|
||||
fail_unless (range->min.seconds == 10.20);
|
||||
fail_unless (range->max.type == GST_RTSP_TIME_SECONDS);
|
||||
fail_unless (range->max.seconds == 20.10);
|
||||
gst_rtsp_range_free (range);
|
||||
|
||||
fail_unless (gst_rtsp_range_parse ("npt=500-15.001", &range) == GST_RTSP_OK);
|
||||
fail_unless (range->unit == GST_RTSP_RANGE_NPT);
|
||||
fail_unless (range->min.type == GST_RTSP_TIME_SECONDS);
|
||||
fail_unless (range->min.seconds == 500);
|
||||
fail_unless (range->max.type == GST_RTSP_TIME_SECONDS);
|
||||
fail_unless (range->max.seconds == 15.001);
|
||||
gst_rtsp_range_free (range);
|
||||
}
|
||||
|
||||
GST_END_TEST;
|
||||
|
||||
static Suite *
|
||||
rtsp_suite (void)
|
||||
{
|
||||
|
@ -131,6 +214,7 @@ rtsp_suite (void)
|
|||
tcase_add_test (tc_chain, test_rtsp_url_components_1);
|
||||
tcase_add_test (tc_chain, test_rtsp_url_components_2);
|
||||
tcase_add_test (tc_chain, test_rtsp_url_components_3);
|
||||
tcase_add_test (tc_chain, test_rtsp_range_npt);
|
||||
|
||||
return s;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue