#include "AudioDecoder.h" #include "Demuxer.h" #include "IoContext.h" #include "VideoDecoder.h" #include "WebRTCPublisher.h" #include #include #include int main(int argc, char *argv[]) { QApplication app(argc, argv); auto ioContext = Amass::Singleton::instance(); std::cout << "hello world." << std::endl; constexpr auto path = "E:/Documents/juren-30s.mp4"; Demuxer demuxer; demuxer.open(path); // auto [audioCodec, audioCodecParameter] = demuxer.codecInformation(Stream::Audio); // auto [videoCodec, videoCodecParameter] = demuxer.codecInformation(Stream::Video); // VideoDecoder videoDecoder(videoCodec, videoCodecParameter); // // AudioDecoder audioDecoder(audioCodec, audioCodecParameter); // demuxer.setStreamPacketCallback( // Stream::Video, [&videoDecoder](const std::shared_ptr &packet) { videoDecoder.push(packet); }); // // demuxer.setStreamPacketCallback(Stream::Audio, // // std::bind(&AudioDecoder::push, &audioDecoder, std::placeholders::_1)); // demuxer.start(); // videoDecoder.start(); QWidget w; // w.show(); WebRTCPublisher rtc(*ioContext->ioContext()); ioContext->run(); return app.exec(); }