#include "PipeLine.h"
|
#include "PL_RTSPClient.h"
|
#include "PL_H264Decoder.h"
|
#include "PL_AVFrameYUV420.h"
|
|
#include <iostream>
|
using namespace std;
|
|
int main(int argc, char** argv)
|
{
|
PipeLine pipeLine;
|
|
pipeLine.register_elem_creator("PL_RTSPClient", create_PL_RTSPClient);
|
pipeLine.register_elem_creator("PL_H264Decoder", create_PL_H264Decoder);
|
pipeLine.register_elem_creator("PL_AVFrameYUV420", create_PL_AVFrameYUV420);
|
|
PL_RTSPClient* rtspClient = (PL_RTSPClient*)pipeLine.push_elem("PL_RTSPClient");
|
RTSPConfig rtspConfig;
|
rtspConfig.progName = argv[0];
|
rtspConfig.rtspURL = argv[1];
|
bool ret = rtspClient->init(&rtspConfig);
|
if (!ret)
|
{
|
cout << "rtspClient.init error" << endl;
|
exit(EXIT_FAILURE);
|
}
|
|
PL_H264Decoder* h264Decoder = (PL_H264Decoder*)pipeLine.push_elem("PL_H264Decoder");
|
h264Decoder->init(nullptr);
|
|
PL_AVFrameYUV420* avFrameYUV420 = (PL_AVFrameYUV420*)pipeLine.push_elem("PL_AVFrameYUV420");
|
avFrameYUV420->init(nullptr);
|
|
while(true)
|
{
|
//cout << "begin pipe" << endl;
|
pipeLine.pipe();
|
//cout << "end pipe" << endl;
|
}
|
}
|