70
70
|| TAG_KIND_OF(type, ST_OUT_FILE_HLS);
73
void InNetRTMPStream::GetStats(Variant &info) {
74
BaseInNetStream::GetStats(info);
73
void InNetRTMPStream::GetStats(Variant &info, uint32_t namespaceId) {
74
BaseInNetStream::GetStats(info, namespaceId);
75
75
info["audio"]["packetsCount"] = _audioPacketsCount;
76
76
info["audio"]["droppedPacketsCount"] = (uint64_t) 0;
77
77
info["audio"]["bytesCount"] = _audioBytesCount;
137
137
Variant ¬ify = MAP_VAL(params.begin());
138
138
if ((notify == V_STRING) && (lowerCase((string) notify) == "onmetadata")) {
139
139
Variant &metadata = MAP_VAL(++params.begin());
140
if (metadata.HasKeyChain(_V_NUMERIC, false, 1, "bandwidth")) {
141
_streamCapabilities.bandwidthHint = (uint32_t) metadata["bandwidth"];
143
if (metadata.HasKeyChain(_V_NUMERIC, false, 1, "audiodatarate")) {
144
_streamCapabilities.bandwidthHint =
145
(uint32_t) metadata["audiodatarate"];
147
if (metadata.HasKeyChain(_V_NUMERIC, false, 1, "videodatarate")) {
148
_streamCapabilities.bandwidthHint +=
149
(uint32_t) metadata["videodatarate"];
140
if (metadata == V_MAP) {
141
if (metadata.HasKeyChain(_V_NUMERIC, false, 1, "bandwidth")) {
142
_streamCapabilities.bandwidthHint = (uint32_t) metadata["bandwidth"];
144
if (metadata.HasKeyChain(_V_NUMERIC, false, 1, "audiodatarate")) {
145
_streamCapabilities.bandwidthHint =
146
(uint32_t) metadata["audiodatarate"];
148
if (metadata.HasKeyChain(_V_NUMERIC, false, 1, "videodatarate")) {
149
_streamCapabilities.bandwidthHint +=
150
(uint32_t) metadata["videodatarate"];
188
bool InNetRTMPStream::RecordFLV(Variant &meta, bool append) {
189
//1. Compute the file name
190
string fileName = meta[META_SERVER_MEDIA_DIR];
191
fileName += (string) meta[META_SERVER_FILE_NAME];
192
FINEST("fileName: %s", STR(fileName));
194
//2. Delete the old file
196
WARN("append not supported yet. File will be overwritten");
198
deleteFile(fileName);
200
//3. Create the out file
201
_pOutFileRTMPFLVStream = new OutFileRTMPFLVStream(_pProtocol,
202
_pStreamsManager, fileName);
190
bool InNetRTMPStream::Record(BaseOutFileStream *pOutStream) {
192
_pOutFileRTMPFLVStream = pOutStream;
205
193
return _pOutFileRTMPFLVStream->Link(this);
208
bool InNetRTMPStream::RecordMP4(Variant &meta) {
212
196
void InNetRTMPStream::SignalOutStreamAttached(BaseOutStream *pOutStream) {
213
197
if (GETAVAILABLEBYTESCOUNT(_videoCodecInit) != 0) {
214
198
if (!pOutStream->FeedData(GETIBPOINTER(_videoCodecInit),