diff --git a/engine/media_streamer.go b/engine/media_streamer.go index 76e628d42..a73e7c02a 100644 --- a/engine/media_streamer.go +++ b/engine/media_streamer.go @@ -192,7 +192,7 @@ func selectTranscodingOptions(ctx context.Context, ds model.DataStore, mf *model bitRate = t.DefaultBitRate } } - if format == mf.Suffix && bitRate > mf.BitRate { + if format == mf.Suffix && bitRate >= mf.BitRate { format = "raw" bitRate = 0 } diff --git a/engine/media_streamer_test.go b/engine/media_streamer_test.go index 72e178edc..1cec0bee0 100644 --- a/engine/media_streamer_test.go +++ b/engine/media_streamer_test.go @@ -130,6 +130,13 @@ var _ = Describe("MediaStreamer", func() { Expect(format).To(Equal("oga")) Expect(bitRate).To(Equal(80)) }) + It("returns raw if selected bitrate and format is the same as original", func() { + mf.Suffix = "mp3" + mf.BitRate = 192 + format, bitRate := selectTranscodingOptions(ctx, ds, mf, "mp3", 192) + Expect(format).To(Equal("raw")) + Expect(bitRate).To(Equal(0)) + }) }) Context("player has maxBitRate configured", func() { BeforeEach(func() {