-add h265 to record and stream

This commit is contained in:
Jacek Jendrzej
2014-05-29 16:23:36 +02:00
parent 193c49d55e
commit d9483e019e
6 changed files with 11 additions and 4 deletions

View File

@@ -34,6 +34,7 @@
#define ES_TYPE_MPEG12 0x02
#define ES_TYPE_AVC 0x1b
#define ES_TYPE_HEVC 0x24
#define ES_TYPE_MPA 0x03
#define ES_TYPE_EAC3 0x7a
#define ES_TYPE_AC3 0x81
@@ -131,6 +132,10 @@ void CGenPsi::addPid(uint16_t pid, uint16_t pidtype, short isAC3, const char *da
pcrpid=vpid=pid;
vtype = ES_TYPE_AVC;
break;
case EN_TYPE_HEVC:
pcrpid=vpid=pid;
vtype = ES_TYPE_HEVC;
break;
case EN_TYPE_PCR:
pcrpid=pid;
break;

View File

@@ -30,6 +30,7 @@
#define EN_TYPE_AVC 0x04
#define EN_TYPE_DVBSUB 0x06
#define EN_TYPE_AUDIO_EAC3 0x07
#define EN_TYPE_HEVC 0x08
class CGenPsi
{

View File

@@ -164,7 +164,7 @@ record_error_msg_t CRecordInstance::Start(CZapitChannel * channel)
CGenPsi psi;
numpids = 0;
if (allpids.PIDs.vpid != 0){
psi.addPid(allpids.PIDs.vpid, recMovieInfo->VideoType ? EN_TYPE_AVC : EN_TYPE_VIDEO, 0);
psi.addPid(allpids.PIDs.vpid, recMovieInfo->VideoType == 1 ? EN_TYPE_AVC : recMovieInfo->VideoType == 2 ? EN_TYPE_HEVC : EN_TYPE_VIDEO, 0);
if (allpids.PIDs.pcrpid && (allpids.PIDs.pcrpid != allpids.PIDs.vpid)) {
psi.addPid(allpids.PIDs.pcrpid, EN_TYPE_PCR, 0);
apids[numpids++]=allpids.PIDs.pcrpid;

View File

@@ -437,7 +437,7 @@ void CStreamManager::AddPids(int fd, CZapitChannel *channel, stream_pids_t &pids
for (stream_pids_t::iterator it = pids.begin(); it != pids.end(); ++it) {
if (*it == channel->getVideoPid()) {
printf("CStreamManager::Parse: genpsi vpid %x (%d)\n", *it, channel->type);
psi.addPid(*it, channel->type ? EN_TYPE_AVC : EN_TYPE_VIDEO, 0);
psi.addPid(*it, channel->type == 1 ? EN_TYPE_AVC : channel->type == 2 ? EN_TYPE_HEVC : EN_TYPE_VIDEO, 0);
} else {
for (int i = 0; i < channel->getAudioChannelCount(); i++) {
if (*it == channel->getAudioChannel(i)->pid) {