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>