Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gst-plugins-good gst-plugins-good
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 646
    • Issues 646
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 71
    • Merge requests 71
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamerGStreamer
  • gst-plugins-goodgst-plugins-good
  • Issues
  • #893
Closed
Open
Issue created Jun 04, 2021 by Sebastian Dröge@slomo🍵Owner

rtph264pay: aggregate-mode=zerolatency does not work with Chrome (

When enabling logs, Chrome prints the following over and over again and nothing else.

[406344:15:0604/080643.626376:WARNING:video_rtp_depacketizer_h264.cc(226)] Received packet containing more than 10 NAL units. Will not keep track sps and pps ids for all of them.
[406344:15:0604/080643.950581:WARNING:video_receive_stream2.cc(788)] No decodable frame in 200 ms, requesting keyframe.

Sometimes it's displaying a few frames, most of the time it just hangs. chrome://webrtc-internals shows that it receives packets, can't decode them and sends PLIs all the time.

This can be reproduced with the webrtc-unidirectional-h264 example with some minor changes to get a very low complexity stream. Using a plain black videotestsrc makes it even worse. Note that you might have to right-click in Chrome, enable controls and then click on the "play" button due to restrictive autoplay rules.

diff --git a/webrtc/sendonly/webrtc-unidirectional-h264.c b/webrtc/sendonly/webrtc-unidirectional-h264.c
index 593d861..07abceb 100644
--- a/webrtc/sendonly/webrtc-unidirectional-h264.c
+++ b/webrtc/sendonly/webrtc-unidirectional-h264.c
@@ -22,7 +22,7 @@
 #ifdef G_OS_WIN32
 #define VIDEO_SRC "mfvideosrc"
 #else
-#define VIDEO_SRC "v4l2src"
+#define VIDEO_SRC "videotestsrc pattern=ball"
 #endif
 
 gchar *video_priority = NULL;

Streams with more complexity don't show this problem so much.

Assignee
Assign to
Time tracking