diff --git a/internal/staticsources/mpegts/source_test.go b/internal/staticsources/mpegts/source_test.go index 18a5664a..ecd8b3bd 100644 --- a/internal/staticsources/mpegts/source_test.go +++ b/internal/staticsources/mpegts/source_test.go @@ -1,6 +1,7 @@ package mpegts import ( + "bufio" "context" "net" "os" @@ -117,7 +118,8 @@ func TestSourceUDP(t *testing.T) { Codec: &tscodecs.H264{}, } - w := &mpegts.Writer{W: conn, Tracks: []*mpegts.Track{track}} + bw := bufio.NewWriter(conn) + w := &mpegts.Writer{W: bw, Tracks: []*mpegts.Track{track}} err = w.Initialize() require.NoError(t, err) @@ -126,11 +128,17 @@ func TestSourceUDP(t *testing.T) { }}) require.NoError(t, err) + err = bw.Flush() + require.NoError(t, err) + err = w.WriteH264(track, 0, 0, [][]byte{{ // non-IDR 5, 2, }}) require.NoError(t, err) + err = bw.Flush() + require.NoError(t, err) + <-p.Unit // the source must be listening on ReloadConf @@ -189,7 +197,8 @@ func TestSourceUnixSocket(t *testing.T) { Codec: &tscodecs.H264{}, } - w := &mpegts.Writer{W: conn, Tracks: []*mpegts.Track{track}} + bw := bufio.NewWriter(conn) + w := &mpegts.Writer{W: bw, Tracks: []*mpegts.Track{track}} err = w.Initialize() require.NoError(t, err) @@ -198,6 +207,9 @@ func TestSourceUnixSocket(t *testing.T) { }}) require.NoError(t, err) + err = bw.Flush() + require.NoError(t, err) + conn.Close() // trigger a flush <-p.Unit diff --git a/internal/staticsources/srt/source_test.go b/internal/staticsources/srt/source_test.go index 7d033c41..d6ce1dd6 100644 --- a/internal/staticsources/srt/source_test.go +++ b/internal/staticsources/srt/source_test.go @@ -1,6 +1,7 @@ package srt import ( + "bufio" "context" "testing" "time" @@ -59,7 +60,8 @@ func TestSource(t *testing.T) { track := &mpegts.Track{Codec: &tscodecs.H264{}} - w := &mpegts.Writer{W: conn, Tracks: []*mpegts.Track{track}} + bw := bufio.NewWriter(conn) + w := &mpegts.Writer{W: bw, Tracks: []*mpegts.Track{track}} err2 = w.Initialize() require.NoError(t, err2) @@ -68,11 +70,17 @@ func TestSource(t *testing.T) { }}) require.NoError(t, err2) + err = bw.Flush() + require.NoError(t, err) + err = w.WriteH264(track, 0, 0, [][]byte{{ // non-IDR 5, 2, }}) require.NoError(t, err) + err = bw.Flush() + require.NoError(t, err) + <-p.Unit // the source must be listening on ReloadConf