#pragma once
|
|
#include "struct.h"
|
#include <stdio.h>
|
#include <list>
|
|
|
|
class parser_callback : public DataCallback
|
{
|
public:
|
parser_callback(std::list<AVPacket> *videoList, std::list<AVPacket> *audioList,
|
Cond *condVideo, Cond *condAudio);
|
~parser_callback() override;
|
|
virtual int push_packet(const packet_t* pkt, const av_type_t type) override;
|
virtual int open_codec(const int codec_type, const av_type_t type) override;
|
virtual int is_quit() override;
|
virtual int quit() override;
|
virtual int push_finish() override;
|
|
private:
|
|
#define MAX_AUDIO_SIZE (50 * 10)
|
#define MAX_VIDEO_SIZE (25 * 10)
|
Cond *mConditon_Video;
|
std::list<AVPacket> *mVideoPacktList;
|
Cond *mConditon_Audio;
|
std::list<AVPacket> *mAudioPacktList;
|
int quit_;
|
|
bool inputVideoQuene(const AVPacket &pkt);
|
bool inputAudioQuene(const AVPacket &pkt);
|
bool isVideoQueneFull();
|
bool isAudioQueneFull();
|
};
|
|