mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-libstb-hal.git
synced 2025-08-26 23:12:44 +02:00
libeplayer3/writer: add fd to writer class
Origin commit data
------------------
Branch: master
Commit: b767224487
Author: martii <m4rtii@gmx.de>
Date: 2014-05-01 (Thu, 01 May 2014)
------------------
No further description and justification available within origin commit message!
------------------
This commit was generated by Migit
This commit is contained in:
@@ -35,13 +35,13 @@
|
|||||||
class WriterAC3 : public Writer
|
class WriterAC3 : public Writer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bool Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts);
|
bool Write(AVPacket *packet, int64_t pts);
|
||||||
WriterAC3();
|
WriterAC3();
|
||||||
};
|
};
|
||||||
|
|
||||||
bool WriterAC3::Write(int fd, AVStream * /* stream */, AVPacket *packet, int64_t pts)
|
bool WriterAC3::Write(AVPacket *packet, int64_t pts)
|
||||||
{
|
{
|
||||||
if (fd < 0 || !packet || !packet->data)
|
if (!packet || !packet->data)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
uint8_t PesHeader[PES_MAX_HEADER_SIZE];
|
uint8_t PesHeader[PES_MAX_HEADER_SIZE];
|
||||||
|
@@ -37,20 +37,23 @@ class WriterDIVX : public Writer
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
bool initialHeader;
|
bool initialHeader;
|
||||||
|
AVStream *stream;
|
||||||
public:
|
public:
|
||||||
bool Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts);
|
bool Write(AVPacket *packet, int64_t pts);
|
||||||
void Init();
|
void Init(int fd, AVStream *_stream);
|
||||||
WriterDIVX();
|
WriterDIVX();
|
||||||
};
|
};
|
||||||
|
|
||||||
void WriterDIVX::Init()
|
void WriterDIVX::Init(int _fd, AVStream *_stream)
|
||||||
{
|
{
|
||||||
|
fd = _fd;
|
||||||
|
stream = _stream;
|
||||||
initialHeader = true;
|
initialHeader = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WriterDIVX::Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts)
|
bool WriterDIVX::Write(AVPacket *packet, int64_t pts)
|
||||||
{
|
{
|
||||||
if (fd < 0 || !packet || !packet->data)
|
if (!packet || !packet->data)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
uint8_t PesHeader[PES_MAX_HEADER_SIZE];
|
uint8_t PesHeader[PES_MAX_HEADER_SIZE];
|
||||||
@@ -101,7 +104,6 @@ WriterDIVX::WriterDIVX()
|
|||||||
Register(this, AV_CODEC_ID_MSMPEG4V1, VIDEO_ENCODING_MPEG4P2);
|
Register(this, AV_CODEC_ID_MSMPEG4V1, VIDEO_ENCODING_MPEG4P2);
|
||||||
Register(this, AV_CODEC_ID_MSMPEG4V2, VIDEO_ENCODING_MPEG4P2);
|
Register(this, AV_CODEC_ID_MSMPEG4V2, VIDEO_ENCODING_MPEG4P2);
|
||||||
Register(this, AV_CODEC_ID_MSMPEG4V3, VIDEO_ENCODING_MPEG4P2);
|
Register(this, AV_CODEC_ID_MSMPEG4V3, VIDEO_ENCODING_MPEG4P2);
|
||||||
Init();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static WriterDIVX writer_divx __attribute__ ((init_priority (300)));
|
static WriterDIVX writer_divx __attribute__ ((init_priority (300)));
|
||||||
|
@@ -36,13 +36,13 @@
|
|||||||
class WriterDTS : public Writer
|
class WriterDTS : public Writer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bool Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts);
|
bool Write(AVPacket *packet, int64_t pts);
|
||||||
WriterDTS();
|
WriterDTS();
|
||||||
};
|
};
|
||||||
|
|
||||||
bool WriterDTS::Write(int fd, AVStream * /* stream */, AVPacket *packet, int64_t pts)
|
bool WriterDTS::Write(AVPacket *packet, int64_t pts)
|
||||||
{
|
{
|
||||||
if (fd < 0 || !packet || !packet->data)
|
if (!packet || !packet->data)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
uint8_t PesHeader[PES_AUDIO_HEADER_SIZE];
|
uint8_t PesHeader[PES_AUDIO_HEADER_SIZE];
|
||||||
|
@@ -32,13 +32,13 @@
|
|||||||
class WriterH263 : public Writer
|
class WriterH263 : public Writer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bool Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts);
|
bool Write(AVPacket *packet, int64_t pts);
|
||||||
WriterH263();
|
WriterH263();
|
||||||
};
|
};
|
||||||
|
|
||||||
bool WriterH263::Write(int fd, AVStream * /* stream */, AVPacket *packet, int64_t pts)
|
bool WriterH263::Write(AVPacket *packet, int64_t pts)
|
||||||
{
|
{
|
||||||
if (fd < 0 || !packet || !packet->data)
|
if (!packet || !packet->data)
|
||||||
return false;
|
return false;
|
||||||
uint8_t PesHeader[PES_MAX_HEADER_SIZE];
|
uint8_t PesHeader[PES_MAX_HEADER_SIZE];
|
||||||
|
|
||||||
|
@@ -52,21 +52,24 @@ class WriterH264 : public Writer
|
|||||||
private:
|
private:
|
||||||
bool initialHeader;
|
bool initialHeader;
|
||||||
unsigned int NalLengthBytes;
|
unsigned int NalLengthBytes;
|
||||||
|
AVStream *stream;
|
||||||
public:
|
public:
|
||||||
bool Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts);
|
bool Write(AVPacket *packet, int64_t pts);
|
||||||
void Init();
|
void Init(int _fd, AVStream *_stream);
|
||||||
WriterH264();
|
WriterH264();
|
||||||
};
|
};
|
||||||
|
|
||||||
void WriterH264::Init(void)
|
void WriterH264::Init(int _fd, AVStream *_stream)
|
||||||
{
|
{
|
||||||
|
fd = _fd;
|
||||||
|
stream = _stream;
|
||||||
initialHeader = true;
|
initialHeader = true;
|
||||||
NalLengthBytes = 1;
|
NalLengthBytes = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WriterH264::Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts)
|
bool WriterH264::Write(AVPacket *packet, int64_t pts)
|
||||||
{
|
{
|
||||||
if (fd < 0 || !packet || !packet->data)
|
if (!packet || !packet->data)
|
||||||
return false;
|
return false;
|
||||||
uint8_t PesHeader[PES_MAX_HEADER_SIZE];
|
uint8_t PesHeader[PES_MAX_HEADER_SIZE];
|
||||||
unsigned int TimeDelta;
|
unsigned int TimeDelta;
|
||||||
@@ -249,7 +252,6 @@ bool WriterH264::Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts)
|
|||||||
WriterH264::WriterH264()
|
WriterH264::WriterH264()
|
||||||
{
|
{
|
||||||
Register(this, AV_CODEC_ID_H264, VIDEO_ENCODING_H264);
|
Register(this, AV_CODEC_ID_H264, VIDEO_ENCODING_H264);
|
||||||
Init();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static WriterH264 writerh264 __attribute__ ((init_priority (300)));
|
static WriterH264 writerh264 __attribute__ ((init_priority (300)));
|
||||||
|
@@ -35,13 +35,13 @@
|
|||||||
class WriterMP3 : public Writer
|
class WriterMP3 : public Writer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bool Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts);
|
bool Write(AVPacket *packet, int64_t pts);
|
||||||
WriterMP3();
|
WriterMP3();
|
||||||
};
|
};
|
||||||
|
|
||||||
bool WriterMP3::Write(int fd, AVStream * /* stream */, AVPacket *packet, int64_t pts)
|
bool WriterMP3::Write(AVPacket *packet, int64_t pts)
|
||||||
{
|
{
|
||||||
if (fd < 0 || !packet || !packet->data)
|
if (!packet || !packet->data)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
uint8_t PesHeader[PES_MAX_HEADER_SIZE];
|
uint8_t PesHeader[PES_MAX_HEADER_SIZE];
|
||||||
|
@@ -35,13 +35,13 @@
|
|||||||
class WriterMPEG2 : public Writer
|
class WriterMPEG2 : public Writer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bool Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts);
|
bool Write(AVPacket *packet, int64_t pts);
|
||||||
WriterMPEG2();
|
WriterMPEG2();
|
||||||
};
|
};
|
||||||
|
|
||||||
bool WriterMPEG2::Write(int fd, AVStream * /* stream */, AVPacket *packet, int64_t pts)
|
bool WriterMPEG2::Write(AVPacket *packet, int64_t pts)
|
||||||
{
|
{
|
||||||
if (fd < 0 || !packet || !packet->data)
|
if (!packet || !packet->data)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
uint8_t PesHeader[PES_MAX_HEADER_SIZE];
|
uint8_t PesHeader[PES_MAX_HEADER_SIZE];
|
||||||
|
@@ -71,6 +71,7 @@ class WriterPCM : public Writer
|
|||||||
int uSampleRate;
|
int uSampleRate;
|
||||||
int uBitsPerSample;
|
int uBitsPerSample;
|
||||||
|
|
||||||
|
AVStream *stream;
|
||||||
SwrContext *swr;
|
SwrContext *swr;
|
||||||
AVFrame *decoded_frame;
|
AVFrame *decoded_frame;
|
||||||
int out_sample_rate;
|
int out_sample_rate;
|
||||||
@@ -80,10 +81,10 @@ class WriterPCM : public Writer
|
|||||||
bool restart_audio_resampling;
|
bool restart_audio_resampling;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
bool Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts);
|
bool Write(AVPacket *packet, int64_t pts);
|
||||||
bool prepareClipPlay();
|
bool prepareClipPlay();
|
||||||
bool writePCM(int fd, int64_t Pts, uint8_t *data, unsigned int size);
|
bool writePCM(int64_t Pts, uint8_t *data, unsigned int size);
|
||||||
void Init();
|
void Init(int _fd, AVStream *_stream);
|
||||||
WriterPCM();
|
WriterPCM();
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -148,7 +149,7 @@ bool WriterPCM::prepareClipPlay()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WriterPCM::writePCM(int fd, int64_t Pts, uint8_t *data, unsigned int size)
|
bool WriterPCM::writePCM(int64_t Pts, uint8_t *data, unsigned int size)
|
||||||
{
|
{
|
||||||
bool res = true;
|
bool res = true;
|
||||||
uint8_t PesHeader[PES_MAX_HEADER_SIZE];
|
uint8_t PesHeader[PES_MAX_HEADER_SIZE];
|
||||||
@@ -219,17 +220,16 @@ bool WriterPCM::writePCM(int fd, int64_t Pts, uint8_t *data, unsigned int size)
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
void WriterPCM::Init()
|
void WriterPCM::Init(int _fd, AVStream *_stream)
|
||||||
{
|
{
|
||||||
|
fd = _fd;
|
||||||
|
stream = _stream;
|
||||||
initialHeader = true;
|
initialHeader = true;
|
||||||
restart_audio_resampling = true;
|
restart_audio_resampling = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WriterPCM::Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts)
|
bool WriterPCM::Write(AVPacket *packet, int64_t pts)
|
||||||
{
|
{
|
||||||
if (fd < 0)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (!packet) {
|
if (!packet) {
|
||||||
restart_audio_resampling = true;
|
restart_audio_resampling = true;
|
||||||
return true;
|
return true;
|
||||||
@@ -332,7 +332,7 @@ bool WriterPCM::Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts)
|
|||||||
|
|
||||||
out_samples = swr_convert(swr, &output, out_samples, (const uint8_t **) &decoded_frame->data[0], in_samples);
|
out_samples = swr_convert(swr, &output, out_samples, (const uint8_t **) &decoded_frame->data[0], in_samples);
|
||||||
|
|
||||||
if (!writePCM(fd, pts, output, out_samples * sizeof(short) * out_channels)) {
|
if (!writePCM(pts, output, out_samples * sizeof(short) * out_channels)) {
|
||||||
restart_audio_resampling = true;
|
restart_audio_resampling = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -353,7 +353,6 @@ WriterPCM::WriterPCM()
|
|||||||
decoded_frame = av_frame_alloc();
|
decoded_frame = av_frame_alloc();
|
||||||
|
|
||||||
Register(this, AV_CODEC_ID_INJECTPCM, AUDIO_ENCODING_LPCMA);
|
Register(this, AV_CODEC_ID_INJECTPCM, AUDIO_ENCODING_LPCMA);
|
||||||
Init();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static WriterPCM writer_pcm __attribute__ ((init_priority (300)));
|
static WriterPCM writer_pcm __attribute__ ((init_priority (300)));
|
||||||
|
@@ -50,20 +50,23 @@ class WriterVC1 : public Writer
|
|||||||
private:
|
private:
|
||||||
bool initialHeader;
|
bool initialHeader;
|
||||||
uint8_t FrameHeaderSeen;
|
uint8_t FrameHeaderSeen;
|
||||||
|
AVStream *stream;
|
||||||
public:
|
public:
|
||||||
bool Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts);
|
bool Write(AVPacket *packet, int64_t pts);
|
||||||
void Init();
|
void Init(int _fd, AVStream *_stream);
|
||||||
WriterVC1();
|
WriterVC1();
|
||||||
};
|
};
|
||||||
|
|
||||||
void WriterVC1::Init()
|
void WriterVC1::Init(int _fd, AVStream *_stream)
|
||||||
{
|
{
|
||||||
|
fd = _fd;
|
||||||
|
stream = _stream;
|
||||||
initialHeader = true;
|
initialHeader = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WriterVC1::Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts)
|
bool WriterVC1::Write(AVPacket *packet, int64_t pts)
|
||||||
{
|
{
|
||||||
if (fd < 0 || !packet || !packet->data)
|
if (!packet || !packet->data)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (initialHeader) {
|
if (initialHeader) {
|
||||||
@@ -181,7 +184,6 @@ bool WriterVC1::Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts)
|
|||||||
WriterVC1::WriterVC1()
|
WriterVC1::WriterVC1()
|
||||||
{
|
{
|
||||||
Register(this, AV_CODEC_ID_VC1, VIDEO_ENCODING_VC1);
|
Register(this, AV_CODEC_ID_VC1, VIDEO_ENCODING_VC1);
|
||||||
Init();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static WriterVC1 writer_vc1 __attribute__ ((init_priority (300)));
|
static WriterVC1 writer_vc1 __attribute__ ((init_priority (300)));
|
||||||
|
@@ -57,20 +57,23 @@ class WriterWMV : public Writer
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
bool initialHeader;
|
bool initialHeader;
|
||||||
|
AVStream *stream;
|
||||||
public:
|
public:
|
||||||
bool Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts);
|
bool Write(AVPacket *packet, int64_t pts);
|
||||||
void Init();
|
void Init(int _fd, AVStream *_stream);
|
||||||
WriterWMV();
|
WriterWMV();
|
||||||
};
|
};
|
||||||
|
|
||||||
void WriterWMV::Init()
|
void WriterWMV::Init(int _fd, AVStream *_stream)
|
||||||
{
|
{
|
||||||
|
fd = _fd;
|
||||||
|
stream = _stream;
|
||||||
initialHeader = true;
|
initialHeader = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WriterWMV::Write(int fd, AVStream *stream, AVPacket *packet, int64_t pts)
|
bool WriterWMV::Write(AVPacket *packet, int64_t pts)
|
||||||
{
|
{
|
||||||
if (fd < 0 || !packet || !packet->data)
|
if (!packet || !packet->data)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (initialHeader) {
|
if (initialHeader) {
|
||||||
@@ -164,7 +167,6 @@ WriterWMV::WriterWMV()
|
|||||||
Register(this, AV_CODEC_ID_WMV1, VIDEO_ENCODING_WMV);
|
Register(this, AV_CODEC_ID_WMV1, VIDEO_ENCODING_WMV);
|
||||||
Register(this, AV_CODEC_ID_WMV2, VIDEO_ENCODING_WMV);
|
Register(this, AV_CODEC_ID_WMV2, VIDEO_ENCODING_WMV);
|
||||||
Register(this, AV_CODEC_ID_WMV3, VIDEO_ENCODING_WMV);
|
Register(this, AV_CODEC_ID_WMV3, VIDEO_ENCODING_WMV);
|
||||||
Init();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static WriterWMV writer_wmv __attribute__ ((init_priority (300)));
|
static WriterWMV writer_wmv __attribute__ ((init_priority (300)));
|
||||||
|
@@ -58,7 +58,7 @@ void Writer::Register(Writer *w, enum AVCodecID id, audio_encoding_t encoding)
|
|||||||
aencoding[id] = encoding;
|
aencoding[id] = encoding;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Writer::Write(int /* fd */, AVStream * /*stream*/, AVPacket * /* packet */, int64_t /* pts */)
|
bool Writer::Write(AVPacket * /* packet */, int64_t /* pts */)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user