@@ -851,37 +851,51 @@ func TestRedirect(t *testing.T) {
851851}
852852
853853func TestFallback (t * testing.T ) {
854- p1 , ok := testProgram ("paths:\n " +
855- " path1:\n " +
856- " fallback: rtsp://" + ownDockerIP + ":8554/path2\n " +
857- " path2:\n " )
858- require .Equal (t , true , ok )
859- defer p1 .close ()
854+ for _ , ca := range []string {
855+ "absolute" ,
856+ "relative" ,
857+ } {
858+ t .Run (ca , func (t * testing.T ) {
859+ val := func () string {
860+ if ca == "absolute" {
861+ return "rtsp://" + ownDockerIP + ":8554/path2"
862+ }
863+ return "/path2"
864+ }()
860865
861- cnt1 , err := newContainer ("ffmpeg" , "source" , []string {
862- "-re" ,
863- "-stream_loop" , "-1" ,
864- "-i" , "emptyvideo.ts" ,
865- "-c" , "copy" ,
866- "-f" , "rtsp" ,
867- "-rtsp_transport" , "udp" ,
868- "rtsp://" + ownDockerIP + ":8554/path2" ,
869- })
870- require .NoError (t , err )
871- defer cnt1 .close ()
866+ p1 , ok := testProgram ("paths:\n " +
867+ " path1:\n " +
868+ " fallback: " + val + "\n " +
869+ " path2:\n " )
870+ require .Equal (t , true , ok )
871+ defer p1 .close ()
872872
873- time .Sleep (1 * time .Second )
873+ cnt1 , err := newContainer ("ffmpeg" , "source" , []string {
874+ "-re" ,
875+ "-stream_loop" , "-1" ,
876+ "-i" , "emptyvideo.ts" ,
877+ "-c" , "copy" ,
878+ "-f" , "rtsp" ,
879+ "-rtsp_transport" , "udp" ,
880+ "rtsp://" + ownDockerIP + ":8554/path2" ,
881+ })
882+ require .NoError (t , err )
883+ defer cnt1 .close ()
874884
875- cnt2 , err := newContainer ("ffmpeg" , "dest" , []string {
876- "-rtsp_transport" , "udp" ,
877- "-i" , "rtsp://" + ownDockerIP + ":8554/path1" ,
878- "-vframes" , "1" ,
879- "-f" , "image2" ,
880- "-y" , "/dev/null" ,
881- })
882- require .NoError (t , err )
883- defer cnt2 .close ()
884- require .Equal (t , 0 , cnt2 .wait ())
885+ time .Sleep (1 * time .Second )
886+
887+ cnt2 , err := newContainer ("ffmpeg" , "dest" , []string {
888+ "-rtsp_transport" , "udp" ,
889+ "-i" , "rtsp://" + ownDockerIP + ":8554/path1" ,
890+ "-vframes" , "1" ,
891+ "-f" , "image2" ,
892+ "-y" , "/dev/null" ,
893+ })
894+ require .NoError (t , err )
895+ defer cnt2 .close ()
896+ require .Equal (t , 0 , cnt2 .wait ())
897+ })
898+ }
885899}
886900
887901func TestRTMP (t * testing.T ) {
0 commit comments