mirror of
https://github.com/tuxbox-neutrino/libstb-hal.git
synced 2025-09-02 02:11:12 +02:00
libeplayer3: change extradata handling
This commit is contained in:
@@ -152,8 +152,8 @@ static int writeData(WriterAVCallData_t *call)
|
||||
iov[ic++].iov_len = FakeHeaderLength;
|
||||
|
||||
if (initialHeader) {
|
||||
iov[ic].iov_base = call->private_data;
|
||||
iov[ic++].iov_len = call->private_size;
|
||||
iov[ic].iov_base = call->stream->codec->extradata;
|
||||
iov[ic++].iov_len = call->stream->codec->extradata_size;
|
||||
|
||||
initialHeader = 0;
|
||||
}
|
||||
|
@@ -153,9 +153,9 @@ static int writeData(WriterAVCallData_t *call)
|
||||
iov[ic++].iov_base = PesHeader;
|
||||
if (initialHeader) {
|
||||
initialHeader = 0;
|
||||
iov[ic].iov_base = call->private_data;
|
||||
iov[ic++].iov_len = call->private_size;
|
||||
PacketLength += call->private_size;
|
||||
iov[ic].iov_base = call->stream->codec->extradata;
|
||||
iov[ic++].iov_len = call->stream->codec->extradata_size;
|
||||
PacketLength += call->stream->codec->extradata_size;
|
||||
}
|
||||
iov[ic].iov_base = call->data;
|
||||
iov[ic++].iov_len = call->len;
|
||||
@@ -173,7 +173,7 @@ static int writeData(WriterAVCallData_t *call)
|
||||
}
|
||||
|
||||
if (initialHeader) {
|
||||
avcC_t *avcCHeader = (avcC_t *) call->private_data;
|
||||
avcC_t *avcCHeader = (avcC_t *) call->stream->codec->extradata;
|
||||
unsigned int i;
|
||||
unsigned int ParamSets;
|
||||
unsigned int ParamOffset;
|
||||
|
@@ -46,7 +46,6 @@
|
||||
#include "misc.h"
|
||||
#include "pes.h"
|
||||
#include "writer.h"
|
||||
#include "pcm.h"
|
||||
|
||||
/* ***************************** */
|
||||
/* Makros/Constants */
|
||||
@@ -207,15 +206,12 @@ static int writeData(WriterAVCallData_t *call)
|
||||
return 0;
|
||||
}
|
||||
|
||||
pcmPrivateData_t *pcmPrivateData =
|
||||
(pcmPrivateData_t *) call->private_data;
|
||||
|
||||
if (initialHeader) {
|
||||
initialHeader = 0;
|
||||
prepareClipPlay(pcmPrivateData->uNoOfChannels,
|
||||
pcmPrivateData->uSampleRate,
|
||||
pcmPrivateData->uBitsPerSample,
|
||||
pcmPrivateData->bLittleEndian);
|
||||
prepareClipPlay(call->uNoOfChannels,
|
||||
call->uSampleRate,
|
||||
call->uBitsPerSample,
|
||||
call->bLittleEndian);
|
||||
}
|
||||
|
||||
unsigned char *buffer = call->data;
|
||||
@@ -254,7 +250,7 @@ static int writeData(WriterAVCallData_t *call)
|
||||
iov[2].iov_len = SubFrameLen;
|
||||
|
||||
//write the PCM data
|
||||
if (pcmPrivateData->uBitsPerSample == 16) {
|
||||
if (call->uBitsPerSample == 16) {
|
||||
for (n = 0; n < SubFrameLen; n += 2) {
|
||||
unsigned char tmp;
|
||||
tmp = injectBuffer[n];
|
||||
|
@@ -144,7 +144,7 @@ static int writeData(WriterAVCallData_t *call)
|
||||
|
||||
vc1_printf(10, "VideoPts %lld\n", call->Pts);
|
||||
|
||||
vc1_printf(10, "Got Private Size %d\n", call->private_size);
|
||||
vc1_printf(10, "Got Private Size %d\n", call->stream->codec->extradata_size);
|
||||
|
||||
|
||||
if (initialHeader) {
|
||||
@@ -202,8 +202,8 @@ static int writeData(WriterAVCallData_t *call)
|
||||
|
||||
/* For VC1 the codec private data is a standard vc1 sequence header so we just copy it to the output */
|
||||
iov[0].iov_base = PesHeader;
|
||||
iov[1].iov_base = call->private_data;
|
||||
iov[1].iov_len = call->private_size;
|
||||
iov[1].iov_base = call->stream->codec->extradata;
|
||||
iov[1].iov_len = call->stream->codec->extradata_size;
|
||||
iov[0].iov_len =
|
||||
InsertPesHeader(PesHeader, iov[1].iov_len,
|
||||
VC1_VIDEO_PES_START_CODE, INVALID_PTS_VALUE,
|
||||
|
@@ -141,12 +141,9 @@ static int writeData(WriterAVCallData_t *call)
|
||||
}
|
||||
|
||||
wmv_printf(10, "VideoPts %lld\n", call->Pts);
|
||||
wmv_printf(10, "Got Private Size %d\n", call->private_size);
|
||||
wmv_printf(10, "Got Private Size %d\n", call->stream->codec->extradata_size);
|
||||
|
||||
memcpy(private_data.privateData, call->private_data,
|
||||
call->private_size >
|
||||
WMV3_PRIVATE_DATA_LENGTH ? WMV3_PRIVATE_DATA_LENGTH : call->
|
||||
private_size);
|
||||
memcpy(private_data.privateData, call->stream->codec->extradata, call->stream->codec->extradata_size > WMV3_PRIVATE_DATA_LENGTH ? WMV3_PRIVATE_DATA_LENGTH : call->stream->codec->extradata_size);
|
||||
|
||||
private_data.width = call->Width;
|
||||
private_data.height = call->Height;
|
||||
|
@@ -65,9 +65,9 @@ static Writer_t *AvailableWriter[] = {
|
||||
&WriterAudioMPEGL3,
|
||||
&WriterAudioAC3,
|
||||
&WriterAudioEAC3,
|
||||
&WriterAudioAAC,
|
||||
// &WriterAudioAAC,
|
||||
&WriterAudioDTS,
|
||||
&WriterAudioWMA,
|
||||
// &WriterAudioWMA,
|
||||
&WriterAudioFLAC,
|
||||
&WriterAudioVORBIS,
|
||||
|
||||
|
Reference in New Issue
Block a user