fix, supplement to 6045e1082c

This commit is contained in:
Jacek Jendrzej
2021-10-27 14:24:33 +02:00
parent 6045e1082c
commit 95a9258217
4 changed files with 49 additions and 0 deletions

View File

@@ -251,6 +251,17 @@ void cDvbSubtitleConverter::Reset(void)
Timeout.Set(0xFFFF*1000); Timeout.Set(0xFFFF*1000);
} }
#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(58, 133, 100)
static void get_packet_defaults(AVPacket *pkt)
{
memset(pkt, 0, sizeof(*pkt));
pkt->pts = AV_NOPTS_VALUE;
pkt->dts = AV_NOPTS_VALUE;
pkt->pos = -1;
}
#endif
int cDvbSubtitleConverter::Convert(const uchar *Data, int Length, int64_t pts) int cDvbSubtitleConverter::Convert(const uchar *Data, int Length, int64_t pts)
{ {
AVPacket avpkt; AVPacket avpkt;
@@ -268,6 +279,8 @@ int cDvbSubtitleConverter::Convert(const uchar *Data, int Length, int64_t pts)
AVSubtitle * sub = Bitmaps->GetSub(); AVSubtitle * sub = Bitmaps->GetSub();
#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 133, 100) #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 133, 100)
av_init_packet(&avpkt); av_init_packet(&avpkt);
#else
get_packet_defaults(&avpkt);
#endif #endif
avpkt.data = (uint8_t*) Data; avpkt.data = (uint8_t*) Data;
avpkt.size = Length; avpkt.size = Length;

View File

@@ -233,6 +233,16 @@ void CFfmpegDec::DeInit(void)
} }
in = NULL; in = NULL;
} }
#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(58, 133, 100)
static void get_packet_defaults(AVPacket *pkt)
{
memset(pkt, 0, sizeof(*pkt));
pkt->pts = AV_NOPTS_VALUE;
pkt->dts = AV_NOPTS_VALUE;
pkt->pos = -1;
}
#endif
CBaseDec::RetCode CFfmpegDec::Decoder(FILE *_in, int /*OutputFd*/, State* state, CAudioMetaData* _meta_data, time_t* time_played, unsigned int* secondsToSkip) CBaseDec::RetCode CFfmpegDec::Decoder(FILE *_in, int /*OutputFd*/, State* state, CAudioMetaData* _meta_data, time_t* time_played, unsigned int* secondsToSkip)
{ {
@@ -288,6 +298,8 @@ CBaseDec::RetCode CFfmpegDec::Decoder(FILE *_in, int /*OutputFd*/, State* state,
AVPacket rpacket; AVPacket rpacket;
#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 133, 100) #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 133, 100)
av_init_packet(&rpacket); av_init_packet(&rpacket);
#else
get_packet_defaults(&rpacket);
#endif #endif
c->channel_layout = c->channel_layout ? c->channel_layout : AV_CH_LAYOUT_STEREO; c->channel_layout = c->channel_layout ? c->channel_layout : AV_CH_LAYOUT_STEREO;

View File

@@ -2314,6 +2314,16 @@ bool CStreamRec::Open(CZapitChannel * channel)
#endif #endif
return true; return true;
} }
#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(58, 133, 100)
static void get_packet_defaults(AVPacket *pkt)
{
memset(pkt, 0, sizeof(*pkt));
pkt->pts = AV_NOPTS_VALUE;
pkt->dts = AV_NOPTS_VALUE;
pkt->pos = -1;
}
#endif
void CStreamRec::run() void CStreamRec::run()
{ {
@@ -2332,6 +2342,8 @@ void CStreamRec::run()
while (!stopped) { while (!stopped) {
#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 133, 100) #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 133, 100)
av_init_packet(&pkt); av_init_packet(&pkt);
#else
get_packet_defaults(&pkt);
#endif #endif
if (av_read_frame(ifcx, &pkt) < 0) if (av_read_frame(ifcx, &pkt) < 0)
break; break;

View File

@@ -946,6 +946,16 @@ bool CStreamStream::Stop()
interrupt = false; interrupt = false;
return (ret == 0); return (ret == 0);
} }
#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(58, 133, 100)
static void get_packet_defaults(AVPacket *pkt)
{
memset(pkt, 0, sizeof(*pkt));
pkt->pts = AV_NOPTS_VALUE;
pkt->dts = AV_NOPTS_VALUE;
pkt->pos = -1;
}
#endif
void CStreamStream::run() void CStreamStream::run()
{ {
@@ -960,6 +970,8 @@ void CStreamStream::run()
while (!stopped) { while (!stopped) {
#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 133, 100) #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58, 133, 100)
av_init_packet(&pkt); av_init_packet(&pkt);
#else
get_packet_defaults(&pkt);
#endif #endif
if (av_read_frame(ifcx, &pkt) < 0) if (av_read_frame(ifcx, &pkt) < 0)
break; break;