Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package galene for openSUSE:Factory checked 
in at 2021-12-02 22:30:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/galene (Old)
 and      /work/SRC/openSUSE:Factory/.galene.new.31177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "galene"

Thu Dec  2 22:30:14 2021 rev:13 rq:935084 version:0.4.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/galene/galene.changes    2021-11-05 
22:59:19.632308768 +0100
+++ /work/SRC/openSUSE:Factory/.galene.new.31177/galene.changes 2021-12-02 
22:31:08.922466148 +0100
@@ -1,0 +2,9 @@
+Wed Dec 01 23:58:29 UTC 2021 - mich...@stroeder.com
+
+- Update to version 0.4.2:
+  * Update the samplebuilder to avoid a crash when a single frame is so
+    large that it overflows the buffer.
+  * Various other changes that improve the quality of disk recordings.
+  * Update dependencies.
+
+-------------------------------------------------------------------

Old:
----
  galene-0.4.1.tar.gz

New:
----
  galene-0.4.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ galene.spec ++++++
--- /var/tmp/diff_new_pack.yfZbHD/_old  2021-12-02 22:31:09.762463055 +0100
+++ /var/tmp/diff_new_pack.yfZbHD/_new  2021-12-02 22:31:09.762463055 +0100
@@ -25,7 +25,7 @@
 %bcond_without  apparmor
 
 Name:           galene
-Version:        0.4.1
+Version:        0.4.2
 Release:        0
 Summary:        Gal??ne videoconferencing server
 License:        MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.yfZbHD/_old  2021-12-02 22:31:09.806462892 +0100
+++ /var/tmp/diff_new_pack.yfZbHD/_new  2021-12-02 22:31:09.810462878 +0100
@@ -3,8 +3,8 @@
     <param name="url">git://github.com/jech/galene.git</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">galene-0.4.1</param>
-    <param name="version">0.4.1</param>
+    <param name="revision">galene-0.4.2</param>
+    <param name="version">0.4.2</param>
     <param name="changesgenerate">enable</param>
     <!--param name="versionrewrite-pattern">galene-(\d+)</param>
     <param name="versionrewrite-replacement">\1</param-->

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.yfZbHD/_old  2021-12-02 22:31:09.834462789 +0100
+++ /var/tmp/diff_new_pack.yfZbHD/_new  2021-12-02 22:31:09.834462789 +0100
@@ -1,4 +1,4 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">git://github.com/jech/galene.git</param>
-              <param 
name="changesrevision">37d6ab5445f5f0279e17694dd774fd86610e6c5e</param></service></servicedata>
\ No newline at end of file
+              <param 
name="changesrevision">0e85552ea776d7d7e8498e599b5655ed9d7a244e</param></service></servicedata>
\ No newline at end of file

++++++ galene-0.4.1.tar.gz -> galene-0.4.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.4.1/CHANGES new/galene-0.4.2/CHANGES
--- old/galene-0.4.1/CHANGES    2021-11-05 15:31:09.000000000 +0100
+++ new/galene-0.4.2/CHANGES    2021-12-02 00:09:28.000000000 +0100
@@ -1,3 +1,9 @@
+1 December 2021: Gal??ne 0.4.2
+
+  * Update the samplebuilder to avoid a crash when a single frame is so
+    large that it overflows the buffer.
+  * Various other changes that improve the quality of disk recordings.
+
 4 November 2021: Gal??ne 0.4.1
 
   * Create a new file data/config.json with global configuration.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.4.1/README new/galene-0.4.2/README
--- old/galene-0.4.1/README     2021-11-05 15:31:09.000000000 +0100
+++ new/galene-0.4.2/README     2021-12-02 00:09:28.000000000 +0100
@@ -1,3 +1,7 @@
+Galene is a videoconferencing server that is easy to deploy and requires
+moderate server resources.  It is described at <https://galene.org>.
+
+
 # Installation
 
 See the file INSTALL in this directory for installation instructions.
@@ -43,7 +47,7 @@
 file may look as follows:
 
     {
-        "canonicalHost: "galene.example.org",
+        "canonicalHost": "galene.example.org",
         "admin":[{"username":"root","password":"secret"}]
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.4.1/diskwriter/diskwriter.go 
new/galene-0.4.2/diskwriter/diskwriter.go
--- old/galene-0.4.1/diskwriter/diskwriter.go   2021-11-05 15:31:09.000000000 
+0100
+++ new/galene-0.4.2/diskwriter/diskwriter.go   2021-12-02 00:09:28.000000000 
+0100
@@ -335,21 +335,21 @@
                codec := remote.Codec()
                if strings.EqualFold(codec.MimeType, "audio/opus") {
                        builder = samplebuilder.New(
-                               16, &codecs.OpusPacket{}, codec.ClockRate,
+                               32, &codecs.OpusPacket{}, codec.ClockRate,
                        )
                } else if strings.EqualFold(codec.MimeType, "video/vp8") {
                        builder = samplebuilder.New(
-                               128, &codecs.VP8Packet{}, codec.ClockRate,
+                               1024, &codecs.VP8Packet{}, codec.ClockRate,
                        )
                        conn.hasVideo = true
                } else if strings.EqualFold(codec.MimeType, "video/vp9") {
                        builder = samplebuilder.New(
-                               128, &codecs.VP9Packet{}, codec.ClockRate,
+                               1024, &codecs.VP9Packet{}, codec.ClockRate,
                        )
                        conn.hasVideo = true
                } else if strings.EqualFold(codec.MimeType, "video/h264") {
                        builder = samplebuilder.New(
-                               128, &codecs.H264Packet{}, codec.ClockRate,
+                               1024, &codecs.H264Packet{}, codec.ClockRate,
                        )
                        conn.hasVideo = true
                } else {
@@ -410,27 +410,28 @@
        if valid(t.lastSeqno) {
                lastSeqno := uint16(value(t.lastSeqno))
                if ((p.SequenceNumber - lastSeqno) & 0x8000) == 0 {
+                       // jump forward
                        count := p.SequenceNumber - lastSeqno
-                       if count > 0 && count < 128 {
-                               for i := lastSeqno + 1; i != p.SequenceNumber; 
i++ {
-                                       // different buf each time
-                                       buf := make([]byte, 1504)
-                                       n := t.remote.GetPacket(i, buf, true)
-                                       if n == 0 {
-                                               continue
-                                       }
-                                       p := new(rtp.Packet)
-                                       err := p.Unmarshal(buf)
-                                       if err == nil {
-                                               t.writeRTP(p)
-                                       }
+                       if count < 256 {
+                               for i := uint16(1); i < count; i++ {
+                                       recover(t, lastSeqno + i)
                                }
+                       } else {
+                               requestKeyframe(t)
+                       }
+                       t.lastSeqno = some(uint32(p.SequenceNumber))
+               } else {
+                       // jump backward
+                       count := lastSeqno - p.SequenceNumber
+                       if count >= 512 {
+                               t.lastSeqno = none
+                               requestKeyframe(t)
                        }
                }
+       } else {
+               t.lastSeqno = some(uint32(p.SequenceNumber))
        }
 
-       t.lastSeqno = some(uint32(p.SequenceNumber))
-
        err = t.writeRTP(p)
        if err != nil {
                return 0, err
@@ -438,6 +439,29 @@
        return len(buf), nil
 }
 
+func recover(t *diskTrack, seqno uint16) {
+       // since the samplebuilder retains packets, use a fresh buffer
+       buf := make([]byte, 1504)
+       n := t.remote.GetPacket(seqno, buf, true)
+       if n == 0 {
+               return
+       }
+       p := new(rtp.Packet)
+       err := p.Unmarshal(buf)
+       if err != nil {
+               return
+       }
+       t.writeRTP(p)
+}
+
+func requestKeyframe(t *diskTrack) {
+       now := time.Now()
+       if now.Sub(t.kfRequested) > 500*time.Millisecond {
+               t.remote.RequestKeyframe()
+               t.kfRequested = now
+       }
+}
+
 // writeRTP writes the packet without doing any loss recovery.
 // Called locked.
 func (t *diskTrack) writeRTP(p *rtp.Packet) error {
@@ -513,10 +537,7 @@
                if keyframe {
                        t.lastKf = now
                } else if t.writer == nil || now.Sub(t.lastKf) > 4*time.Second {
-                       if now.Sub(t.kfRequested) > time.Second {
-                               t.remote.RequestKeyframe()
-                               t.kfRequested = now
-                       }
+                       requestKeyframe(t)
                        return nil
                }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.4.1/go.mod new/galene-0.4.2/go.mod
--- old/galene-0.4.1/go.mod     2021-11-05 15:31:09.000000000 +0100
+++ new/galene-0.4.2/go.mod     2021-12-02 00:09:28.000000000 +0100
@@ -6,13 +6,14 @@
        github.com/at-wat/ebml-go v0.16.0
        github.com/gorilla/websocket v1.4.2
        github.com/jech/cert v0.0.0-20210819231831-aca735647728
-       github.com/jech/samplebuilder v0.0.0-20210823163459-dd92d75bae48
-       github.com/pion/ice/v2 v2.1.13
-       github.com/pion/rtcp v1.2.8
+       github.com/jech/samplebuilder v0.0.0-20211128135502-32cf2bc0a2b6
+       github.com/pion/ice/v2 v2.1.14
+       github.com/pion/rtcp v1.2.9
        github.com/pion/rtp v1.7.4
        github.com/pion/sdp/v3 v3.0.4
        github.com/pion/turn/v2 v2.0.5
-       github.com/pion/webrtc/v3 v3.1.6
-       golang.org/x/crypto v0.0.0-20210921155107-089bfa567519
-       golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359
+       github.com/pion/webrtc/v3 v3.1.11
+       golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871
+       golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9 // indirect
+       golang.org/x/sys v0.0.0-20211124211545-fe61309f8881
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.4.1/go.sum new/galene-0.4.2/go.sum
--- old/galene-0.4.1/go.sum     2021-11-05 15:31:09.000000000 +0100
+++ new/galene-0.4.2/go.sum     2021-12-02 00:09:28.000000000 +0100
@@ -25,8 +25,8 @@
 github.com/hpcloud/tail v1.0.0/go.mod 
h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
 github.com/jech/cert v0.0.0-20210819231831-aca735647728 
h1:tN+W1ll2oKuJGMCaO1CRK4rr+xSRjVSfWmnKlACdx38=
 github.com/jech/cert v0.0.0-20210819231831-aca735647728/go.mod 
h1:FXUA/zpiQfV4uBVN2kAwkf3X7pU7l1l2ovS45CsSYZs=
-github.com/jech/samplebuilder v0.0.0-20210823163459-dd92d75bae48 
h1:KTbuIm1zPo0aWHLPs5uLU4u68gxvP6bs7Iyw4Rzd8c0=
-github.com/jech/samplebuilder v0.0.0-20210823163459-dd92d75bae48/go.mod 
h1:CHSZxAXMLpiht1TO02fn+EO2IEd1jgg80O9XswtRDW0=
+github.com/jech/samplebuilder v0.0.0-20211128135502-32cf2bc0a2b6 
h1:H9gIl/rX1Lb44RxR/9tljyQWC/cvlWGBSSuSb5iOnII=
+github.com/jech/samplebuilder v0.0.0-20211128135502-32cf2bc0a2b6/go.mod 
h1:v8Ft/hAXNMLvYSyhWFcKgKgfqPV4EwOhVwk4oLstjpE=
 github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
 github.com/kr/pretty v0.1.0/go.mod 
h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
@@ -40,17 +40,18 @@
 github.com/onsi/gomega v1.7.1/go.mod 
h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
 github.com/onsi/gomega v1.10.1/go.mod 
h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
 github.com/onsi/gomega v1.11.0/go.mod 
h1:azGKhqFUon9Vuj0YmTfLSmx0FUwqXYSTl5re8lQLTUg=
-github.com/pion/datachannel v1.4.21 
h1:3ZvhNyfmxsAqltQrApLPQMhSFNA+aT87RqyCq4OXmf0=
 github.com/pion/datachannel v1.4.21/go.mod 
h1:oiNyP4gHx2DIwRzX/MFyH0Rz/Gz05OgBlayAI2hAWjg=
+github.com/pion/datachannel v1.5.2 
h1:piB93s8LGmbECrpO84DnkIVWasRMk3IimbcXkTQLE6E=
+github.com/pion/datachannel v1.5.2/go.mod 
h1:FTGQWaHrdCwIJ1rw6xBIfZVkslikjShim5yr05XFuCQ=
 github.com/pion/dtls/v2 v2.0.9/go.mod 
h1:O0Wr7si/Zj5/EBFlDzDd6UtVxx25CE1r7XM7BQKYQho=
 github.com/pion/dtls/v2 v2.0.10 h1:wgys7gPR1NMbWjmjJ3CW7lkUGaun8djgH8nahpNLnxI=
 github.com/pion/dtls/v2 v2.0.10/go.mod 
h1:00OxfeCRWHShcqT9jx8pKKmBWuTt0NCZoVPCaC4VKvU=
 github.com/pion/ice/v2 v2.1.10/go.mod 
h1:kV4EODVD5ux2z8XncbLHIOtcXKtYXVgLVCeVqnpoeP0=
-github.com/pion/ice/v2 v2.1.13 h1:/YNYcIw56LT/whwuzkTnrprcRnapj2ZNqUsR0W8elmo=
-github.com/pion/ice/v2 v2.1.13/go.mod 
h1:ovgYHUmwYLlRvcCLI67PnQ5YGe+upXZbGgllBDG/ktU=
+github.com/pion/ice/v2 v2.1.14 h1:nD9GZs3MiR1/dPa5EiMRMe8hLBG3/qqCdx/hTS2g8VE=
+github.com/pion/ice/v2 v2.1.14/go.mod 
h1:ovgYHUmwYLlRvcCLI67PnQ5YGe+upXZbGgllBDG/ktU=
 github.com/pion/interceptor v0.0.15/go.mod 
h1:pg3J253eGi5bqyKzA74+ej5Y19ez2jkWANVnF+Z9Dfk=
-github.com/pion/interceptor v0.1.0 
h1:SlXKaDlEvSl7cr4j8fJykzVz4UdH+7UDtcvx+u01wLU=
-github.com/pion/interceptor v0.1.0/go.mod 
h1:j5NIl3tJJPB3u8+Z2Xz8MZs/VV6rc+If9mXEKNuFmEM=
+github.com/pion/interceptor v0.1.2 
h1:1IfrJ+AQ0HhwxNl4hqh9hMvl1hBKiNhAAr7DrUHsC6s=
+github.com/pion/interceptor v0.1.2/go.mod 
h1:Lh3JSl/cbJ2wP8I3ccrjh1K/deRGRn3UlSPuOTiHb6U=
 github.com/pion/logging v0.2.2 h1:M9+AIj/+pxNsDfAT64+MAVgJO0rsyLnoJKCqf//DoeY=
 github.com/pion/logging v0.2.2/go.mod 
h1:k0/tDVsRCX2Mb2ZEmTqNa7CWsQPc+YYCB7Q+5pahoms=
 github.com/pion/mdns v0.0.5 h1:Q2oj/JB3NqfzY9xGZ1fPzZzK7sDSD8rZPOvcIQ10BCw=
@@ -58,16 +59,17 @@
 github.com/pion/randutil v0.1.0 h1:CFG1UdESneORglEsnimhUjf33Rwjubwj6xfiOXBa3mA=
 github.com/pion/randutil v0.1.0/go.mod 
h1:XcJrSMMbbMRhASFVOlj/5hQial/Y8oH/HVo7TBZq+j8=
 github.com/pion/rtcp v1.2.6/go.mod 
h1:52rMNPWFsjr39z9B9MhnkqhPLoeHTv1aN63o/42bWE0=
-github.com/pion/rtcp v1.2.8 h1:Cys8X6r0xxU65ESTmXkqr8eU1Q1Wx+lNkoZCUH4zD7E=
-github.com/pion/rtcp v1.2.8/go.mod 
h1:qVPhiCzAm4D/rxb6XzKeyZiQK69yJpbUDJSF7TgrqNo=
+github.com/pion/rtcp v1.2.9 h1:1ujStwg++IOLIEoOiIQ2s+qBuJ1VN81KW+9pMPsif+U=
+github.com/pion/rtcp v1.2.9/go.mod 
h1:qVPhiCzAm4D/rxb6XzKeyZiQK69yJpbUDJSF7TgrqNo=
 github.com/pion/rtp v1.7.0/go.mod 
h1:bDb5n+BFZxXx0Ea7E5qe+klMuqiBrP+w8XSjiWtCUko=
 github.com/pion/rtp v1.7.1/go.mod 
h1:bDb5n+BFZxXx0Ea7E5qe+klMuqiBrP+w8XSjiWtCUko=
 github.com/pion/rtp v1.7.2/go.mod 
h1:bDb5n+BFZxXx0Ea7E5qe+klMuqiBrP+w8XSjiWtCUko=
 github.com/pion/rtp v1.7.4 h1:4dMbjb1SuynU5OpA3kz1zHK+u+eOCQjW3MAeVHf1ODA=
 github.com/pion/rtp v1.7.4/go.mod 
h1:bDb5n+BFZxXx0Ea7E5qe+klMuqiBrP+w8XSjiWtCUko=
 github.com/pion/sctp v1.7.10/go.mod 
h1:EhpTUQu1/lcK3xI+eriS6/96fWetHGCvBi9MSsnaBN0=
-github.com/pion/sctp v1.7.12 h1:GsatLufywVruXbZZT1CKg+Jr8ZTkwiPnmUC/oO9+uuY=
 github.com/pion/sctp v1.7.12/go.mod 
h1:xFe9cLMZ5Vj6eOzpyiKjT9SwGM4KpK/8Jbw5//jc+0s=
+github.com/pion/sctp v1.8.0 h1:6erMF2qmQwXr+0iB1lm0AUSmDr9LdmpaBzgSVAEgehw=
+github.com/pion/sctp v1.8.0/go.mod 
h1:xFe9cLMZ5Vj6eOzpyiKjT9SwGM4KpK/8Jbw5//jc+0s=
 github.com/pion/sdp/v3 v3.0.4 h1:2Kf+dgrzJflNCSw3TV5v2VLeI0s/qkzy2r5jlR0wzf8=
 github.com/pion/sdp/v3 v3.0.4/go.mod 
h1:bNiSknmJE0HYBprTHXKPQ3+JjacTv5uap92ueJZKsRk=
 github.com/pion/srtp/v2 v2.0.5 h1:ks3wcTvIUE/GHndO3FAvROQ9opy0uLELpwHJaQ1yqhQ=
@@ -83,9 +85,8 @@
 github.com/pion/udp v0.1.1 h1:8UAPvyqmsxK8oOjloDk4wUt63TzFe9WEJkg5lChlj7o=
 github.com/pion/udp v0.1.1/go.mod 
h1:6AFo+CMdKQm7UiA0eUPA8/eVCTx8jBIITLZHc9DWX5M=
 github.com/pion/webrtc/v3 v3.1.0-beta.3/go.mod 
h1:I4O6v2pkiXdVmcn7sUhCNwHUAepGU19PVEyR204s1qc=
-github.com/pion/webrtc/v3 v3.1.6 
h1:r6WQRayW2SyKTYeRl4vBUQ43XXp7RSwBJ9+tNQWI5zQ=
-github.com/pion/webrtc/v3 v3.1.6/go.mod 
h1:tkwdWNYdZhc200hH/wPx6AtNo/rcTAM6MICA6dg1je8=
-github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
+github.com/pion/webrtc/v3 v3.1.11 
h1:8Q5BEsxvlDn3botM8U8n/Haln745FBa5TWgm8v2c2FA=
+github.com/pion/webrtc/v3 v3.1.11/go.mod 
h1:h9pbP+CADYb/99s5rfjflEcBLgdVKm55Rm7heQ/gIvY=
 github.com/pkg/errors v0.9.1/go.mod 
h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pmezard/go-difflib v1.0.0 
h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod 
h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
@@ -100,8 +101,9 @@
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod 
h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod 
h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod 
h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
-golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 
h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg=
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod 
h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 
h1:/pEO3GD/ABYAjuakUS6xSEmmlyVS4kxBNkeA9tLJiTI=
+golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871/go.mod 
h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod 
h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
@@ -117,8 +119,10 @@
 golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod 
h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod 
h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20211005001312-d4b1ae081e3b/go.mod 
h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20211020060615-d418f374d309 
h1:A0lJIi+hcTR6aajJH4YqKWwohY4aW9RO7oRMcdv+HKI=
 golang.org/x/net v0.0.0-20211020060615-d418f374d309/go.mod 
h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod 
h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9 
h1:0qxwC5n+ttVOINCBeRHO0nq9X7uy8SDsPoi5OaCdIEI=
+golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9/go.mod 
h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -135,8 +139,9 @@
 golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359 
h1:2B5p2L5IfGiD7+b9BOoRMC6DgObAVZV+Fsp050NqXik=
 golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211124211545-fe61309f8881 
h1:TyHqChC80pFkXWraUUf6RuB5IqFdQieMLwwCJokV2pc=
+golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.4.1/rtpconn/rtpwriter.go 
new/galene-0.4.2/rtpconn/rtpwriter.go
--- old/galene-0.4.1/rtpconn/rtpwriter.go       2021-11-05 15:31:09.000000000 
+0100
+++ new/galene-0.4.2/rtpconn/rtpwriter.go       2021-12-02 00:09:28.000000000 
+0100
@@ -327,8 +327,6 @@
                return
        }
 
-       time.Sleep(50 * time.Millisecond)
-
        // drop any nacks before the last keyframe
        var cutoff uint16
        seqno, found := track.cache.Keyframe()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.4.1/rtpconn/webclient.go 
new/galene-0.4.2/rtpconn/webclient.go
--- old/galene-0.4.1/rtpconn/webclient.go       2021-11-05 15:31:09.000000000 
+0100
+++ new/galene-0.4.2/rtpconn/webclient.go       2021-12-02 00:09:28.000000000 
+0100
@@ -1590,7 +1590,7 @@
                                if sg.Clients > 1 {
                                        plural = "s"
                                }
-                               s = s + fmt.Sprintf("%v (%v client%v)",
+                               s = s + fmt.Sprintf("%v (%v client%v)\n",
                                        sg.Name, sg.Clients, plural)
                        }
                        c.write(clientMessage{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.4.1/static/galene.js 
new/galene-0.4.2/static/galene.js
--- old/galene-0.4.1/static/galene.js   2021-11-05 15:31:09.000000000 +0100
+++ new/galene-0.4.2/static/galene.js   2021-12-02 00:09:28.000000000 +0100
@@ -1085,7 +1085,15 @@
     case 'off':
         return false;
     default:
-        if(Object.keys(serverConnection.users).length <= 2)
+        let count = 0;
+        for(let n in serverConnection.users) {
+            if(!serverConnection.users[n].permissions["system"]) {
+                count++;
+                if(count > 2)
+                    break;
+            }
+        }
+        if(count <= 2)
             return false;
         let bps = getMaxVideoThroughput();
         return bps <= 0 || bps >= 2 * simulcastRate;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.4.1/static/protocol.js 
new/galene-0.4.2/static/protocol.js
--- old/galene-0.4.1/static/protocol.js 2021-11-05 15:31:09.000000000 +0100
+++ new/galene-0.4.2/static/protocol.js 2021-12-02 00:09:28.000000000 +0100
@@ -783,8 +783,10 @@
  */
 ServerConnection.prototype.gotClose = function(id) {
     let c = this.down[id];
-    if(!c)
+    if(!c) {
         console.warn('unknown down stream', id);
+        return;
+    }
     c.close();
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/galene-0.4.1/webserver/webserver.go 
new/galene-0.4.2/webserver/webserver.go
--- old/galene-0.4.1/webserver/webserver.go     2021-11-05 15:31:09.000000000 
+0100
+++ new/galene-0.4.2/webserver/webserver.go     2021-12-02 00:09:28.000000000 
+0100
@@ -86,7 +86,7 @@
        return err
 }
 
-func mungeHeader(w http.ResponseWriter) {
+func cspHeader(w http.ResponseWriter) {
        w.Header().Add("Content-Security-Policy",
                "connect-src ws: wss: 'self'; img-src data: 'self'; media-src 
blob: 'self'; default-src 'self'")
 }
@@ -174,7 +174,7 @@
                return
        }
 
-       mungeHeader(w)
+       cspHeader(w)
        p := r.URL.Path
        // this ensures any leading .. are removed by path.Clean below
        if !strings.HasPrefix(p, "/") {
@@ -316,7 +316,7 @@
                return
        }
 
-       mungeHeader(w)
+       cspHeader(w)
        serveFile(w, r, filepath.Join(StaticRoot, "galene.html"))
 }
 

++++++ vendor.tar.gz ++++++
++++ 6839 lines of diff (skipped)

Reply via email to