public static InFileRTMPStream GetInstance(BaseProtocol pRTMPProtocol, StreamsManager pStreamsManager, Variant metadata) { metadata[META_RTMP_META, HTTP_HEADERS_SERVER] = HTTP_HEADERS_SERVER_US; if (!File.Exists(metadata[META_SERVER_FULL_PATH])) { WARN("File not found. fullPath: `{0}`", metadata[META_SERVER_FULL_PATH]); return(null); } InFileRTMPStream pResult = null; switch ((string)metadata[META_MEDIA_TYPE]) { case MEDIA_TYPE_FLV: case MEDIA_TYPE_LIVE_OR_FLV: case MEDIA_TYPE_MP3: case MEDIA_TYPE_MP4: case MEDIA_TYPE_M4A: case MEDIA_TYPE_M4V: case MEDIA_TYPE_MOV: pResult = new InFileRTMPStream(pRTMPProtocol, pStreamsManager, metadata[META_SERVER_FULL_PATH]); break; default: FATAL("File type not supported yet. Metadata:\n{0}", metadata); break; } if (pResult != null) { pResult.CompleteMetadata = metadata; } return(pResult); }
private void RemoveIFS(InFileRTMPStream pIFS) => pIFS.Dispose();
public static InFileRTMPStream GetInstance(BaseProtocol pRTMPProtocol, StreamsManager pStreamsManager, Variant metadata) { metadata[META_RTMP_META,HTTP_HEADERS_SERVER]= HTTP_HEADERS_SERVER_US; if (!File.Exists(metadata[META_SERVER_FULL_PATH])) { WARN("File not found. fullPath: `{0}`",metadata[META_SERVER_FULL_PATH]); return null; } InFileRTMPStream pResult = null; switch ((string)metadata[META_MEDIA_TYPE]) { case MEDIA_TYPE_FLV: case MEDIA_TYPE_LIVE_OR_FLV: case MEDIA_TYPE_MP3: case MEDIA_TYPE_MP4: case MEDIA_TYPE_M4A: case MEDIA_TYPE_M4V: case MEDIA_TYPE_MOV: pResult = new InFileRTMPStream(pRTMPProtocol, pStreamsManager,metadata[META_SERVER_FULL_PATH]); break; default: FATAL("File type not supported yet. Metadata:\n{0}", metadata); break; } if (pResult != null) { pResult.CompleteMetadata = metadata; } return pResult; }