If mpegtsmux receives the same caps again, it wrongly claims the stream type changed: error: Stream type change from 06 to 8f not supported This adds a unit test that demonstrate the issue in the very hacky way. I have seen this happening with the below pipeline when upstream caps changes. Since the caps filter fixates the caps received by opusenc and mpegtsmux, the stream type cannot change. ... ! audioconvert ! audio/x-raw,format=S16LE,channels=2,rate=48000 ! opusenc bitrate=128000 ! mpegtsmux Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9430>