FFmpegKit Linux API 5.1
MediaInformationSession.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2022 Taner Sener
3 *
4 * This file is part of FFmpegKit.
5 *
6 * FFmpegKit is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU Lesser General License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * FFmpegKit is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Lesser General License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General License
17 * along with FFmpegKit. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef FFMPEG_KIT_MEDIA_INFORMATION_SESSION_H
21#define FFMPEG_KIT_MEDIA_INFORMATION_SESSION_H
22
23#include "AbstractSession.h"
24#include "MediaInformation.h"
26
27namespace ffmpegkit {
28
34 public:
35
41 static std::shared_ptr<ffmpegkit::MediaInformationSession> create(const std::list<std::string>& arguments);
42
49 static std::shared_ptr<ffmpegkit::MediaInformationSession> create(const std::list<std::string>& arguments, ffmpegkit::MediaInformationSessionCompleteCallback completeCallback);
50
58 static std::shared_ptr<ffmpegkit::MediaInformationSession> create(const std::list<std::string>& arguments, ffmpegkit::MediaInformationSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback);
59
66 std::shared_ptr<ffmpegkit::MediaInformation> getMediaInformation();
67
73 void setMediaInformation(const std::shared_ptr<ffmpegkit::MediaInformation> mediaInformation);
74
81
87 bool isFFmpeg() const override;
88
94 bool isFFprobe() const override;
95
101 bool isMediaInformation() const override;
102
103 private:
104
105 struct PublicMediaInformationSession;
106
115
117 std::shared_ptr<ffmpegkit::MediaInformation> _mediaInformation;
118 };
119
120}
121
122#endif // FFMPEG_KIT_MEDIA_INFORMATION_SESSION_H
static ffmpegkit::LogCallback logCallback
ffmpegkit::MediaInformationSessionCompleteCallback _completeCallback
std::shared_ptr< ffmpegkit::MediaInformation > _mediaInformation
MediaInformationSession(const std::list< std::string > &arguments, ffmpegkit::MediaInformationSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback)
std::shared_ptr< ffmpegkit::MediaInformation > getMediaInformation()
ffmpegkit::MediaInformationSessionCompleteCallback getCompleteCallback()
void setMediaInformation(const std::shared_ptr< ffmpegkit::MediaInformation > mediaInformation)
static std::shared_ptr< ffmpegkit::MediaInformationSession > create(const std::list< std::string > &arguments)
std::function< void(const std::shared_ptr< ffmpegkit::MediaInformationSession > session)> MediaInformationSessionCompleteCallback
std::function< void(const std::shared_ptr< ffmpegkit::Log > log)> LogCallback
Definition: LogCallback.h:35