mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-03-23 06:20:53 +08:00
添加媒体生成源信息
This commit is contained in:
@@ -245,6 +245,18 @@ bool FFmpegSource::close(MediaSource &sender, bool force) {
|
||||
return true;
|
||||
}
|
||||
|
||||
MediaOriginType FFmpegSource::getOriginType(MediaSource &sender) const{
|
||||
return MediaOriginType::ffmpeg_pull;
|
||||
}
|
||||
|
||||
string FFmpegSource::getOriginUrl(MediaSource &sender) const{
|
||||
return _src_url;
|
||||
}
|
||||
|
||||
std::shared_ptr<SockInfo> FFmpegSource::getOriginSock(MediaSource &sender) const {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void FFmpegSource::onGetMediaSource(const MediaSource::Ptr &src) {
|
||||
auto listener = src->getListener();
|
||||
if (listener.lock().get() != this) {
|
||||
|
||||
@@ -58,8 +58,15 @@ private:
|
||||
void startTimer(int timeout_ms);
|
||||
void onGetMediaSource(const MediaSource::Ptr &src);
|
||||
|
||||
//MediaSourceEvent override
|
||||
///////MediaSourceEvent override///////
|
||||
// 关闭
|
||||
bool close(MediaSource &sender,bool force) override;
|
||||
// 获取媒体源类型
|
||||
MediaOriginType getOriginType(MediaSource &sender) const override;
|
||||
//获取媒体源url或者文件路径
|
||||
string getOriginUrl(MediaSource &sender) const override;
|
||||
// 获取媒体源客户端相关信息
|
||||
std::shared_ptr<SockInfo> getOriginSock(MediaSource &sender) const override;
|
||||
|
||||
private:
|
||||
Process _process;
|
||||
|
||||
@@ -397,6 +397,20 @@ void installWebApi() {
|
||||
item["stream"] = media->getId();
|
||||
item["readerCount"] = media->readerCount();
|
||||
item["totalReaderCount"] = media->totalReaderCount();
|
||||
item["originType"] = (int) media->getOriginType();
|
||||
item["originTypeStr"] = getOriginTypeString(media->getOriginType());
|
||||
item["originUrl"] = media->getOriginUrl();
|
||||
auto originSock = media->getOriginSock();
|
||||
if (originSock) {
|
||||
item["originSock"]["local_ip"] = originSock->get_local_ip();
|
||||
item["originSock"]["local_port"] = originSock->get_local_port();
|
||||
item["originSock"]["peer_ip"] = originSock->get_peer_ip();
|
||||
item["originSock"]["peer_port"] = originSock->get_peer_port();
|
||||
item["originSock"]["identifier"] = originSock->getIdentifier();
|
||||
} else {
|
||||
item["originSock"] = Json::nullValue;
|
||||
}
|
||||
|
||||
for(auto &track : media->getTracks()){
|
||||
Value obj;
|
||||
auto codec_type = track->getTrackType();
|
||||
|
||||
Reference in New Issue
Block a user