Backport of the RTMP late-join fix from v8.0.2 / v7.0.150 to the 6.0 release line. The HTTP-FLV inverted-guard bug from that fix does not apply to v6 (the lazy edge-mount mechanism that introduced it does not exist on this branch). RTMP players that join an edge stream after the first player fail to decode. After v6.0.179 (#4512) stopped creating SrsOriginHub on edge, the hub_active gate in SrsLiveSource::consumer_dumps() always evaluated false on edge. That gate guards the dump of cached onMetaData + AVC sequence header + AAC sequence header + GOP cache to a new consumer. Result: the first player attaches before the edge-pull starts and gets headers via the live fan-out, but every subsequent player gets coded payload with no codec config and ffmpeg aborts with `dimensions not set` / `Could not write header`. Fall back to the meta cache state when hub is NULL, so the dump path runs once the edge-pull has populated the cache. (trunk/src/app/srs_app_source.cpp) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Architecture.md | ||
| CHANGELOG.md | ||
| Dockers.md | ||
| Features.md | ||
| ffmpeg-logo.png | ||
| ffmpeg-min.png | ||
| PERFORMANCE.md | ||
| README.md | ||
| readme.txt | ||
| Resources.md | ||
| source.200kbps.768x320.flv | ||
| source.flv | ||
| srs-logo.ico | ||
| srs-logo.png | ||