@@ -82,24 +82,27 @@ export function JanusStreamer(__setActive, __setInactive, __setInfo, __organizeH
8282 } ;
8383 } ;
8484
85- var __ff_hack_h264_gop = null ;
85+ var __fix_zero_h264_gop = null ;
8686 var __resize_listener_installed = false ;
8787
8888 self . ensureStream = function ( state ) {
8989 __state = state ;
9090 __stop = false ;
91- if ( tools . browser . is_firefox && __state && __ff_hack_h264_gop !== __state . h264 . gop ) {
92- // uStreamer делает RTP playout-delay=0,0 при gop=0, и 0,10s для gop>0
93- // При смене playout-delay с 0,>0 на 0,0 у фокса сносит крышу и поток фризится.
91+ if ( __state && __fix_zero_h264_gop !== __state . h264 . gop ) {
92+ // Проблема воспроизводится на фоксе и сафари, и не воспроизводится на хроме.
93+ // Из параноидельных соображений фикс включен для всех браузеров.
94+ //
95+ // В общем, uStreamer делает RTP playout-delay=0,0 при gop=0, и 0,10s для gop>0
96+ // При смене playout-delay с 0,>0 на 0,0 у браузера сносит крышу и поток фризится.
9497 // Перезапускаем стрим для этого случая.
9598 // Потенциально тут может быть гонка между тем, что RTP-пакеты с 0,0
9699 // еще не дошли, а стрим уже перезапустился, но ничего не поделаешь.
97100 // Альтернативно можно детектить состояние, когда трафик потребляется,
98101 // но при этом отображается 0fps (собственно, так и выглядит фриз).
99- if ( __ff_hack_h264_gop !== null && __state . h264 . gop === 0 ) {
102+ if ( __fix_zero_h264_gop !== null && __state . h264 . gop === 0 ) {
100103 self . stopStream ( ) ;
101104 }
102- __ff_hack_h264_gop = __state . h264 . gop ;
105+ __fix_zero_h264_gop = __state . h264 . gop ;
103106 }
104107 __ensureJanus ( false ) ;
105108 if ( ! __resize_listener_installed ) {
@@ -109,7 +112,7 @@ export function JanusStreamer(__setActive, __setInactive, __setInfo, __organizeH
109112 } ;
110113
111114 self . stopStream = function ( ) {
112- __ff_hack_h264_gop = null ;
115+ __fix_zero_h264_gop = null ;
113116 __stop = true ;
114117 __destroyJanus ( ) ;
115118 if ( __resize_listener_installed ) {
0 commit comments