mirror of
https://github.com/tuxbox-neutrino/libstb-hal.git
synced 2025-08-26 23:13:16 +02:00
sync
This commit is contained in:
@@ -209,10 +209,12 @@ static char* Codec2Encoding(enum CodecID id, int* version)
|
|||||||
return "A_IPCM"; //return "A_VORBIS";
|
return "A_IPCM"; //return "A_VORBIS";
|
||||||
case CODEC_ID_FLAC: //86030
|
case CODEC_ID_FLAC: //86030
|
||||||
return "A_IPCM"; //return "A_FLAC";
|
return "A_IPCM"; //return "A_FLAC";
|
||||||
#ifdef MARTII
|
#if LIBAVCODEC_VERSION_MAJOR > 54 || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR > 24)
|
||||||
|
case AV_CODEC_ID_PCM_S16LE:
|
||||||
|
#else
|
||||||
case CODEC_ID_PCM_S16LE:
|
case CODEC_ID_PCM_S16LE:
|
||||||
return "A_PCM";
|
|
||||||
#endif
|
#endif
|
||||||
|
return "A_PCM";
|
||||||
/* subtitle */
|
/* subtitle */
|
||||||
case CODEC_ID_SSA:
|
case CODEC_ID_SSA:
|
||||||
return "S_TEXT/ASS"; /* Hellmaster1024: seems to be ASS instead of SSA */
|
return "S_TEXT/ASS"; /* Hellmaster1024: seems to be ASS instead of SSA */
|
||||||
@@ -492,12 +494,11 @@ static void FFMPEGThread(Context_t *context) {
|
|||||||
Track_t * videoTrack = NULL;
|
Track_t * videoTrack = NULL;
|
||||||
Track_t * audioTrack = NULL;
|
Track_t * audioTrack = NULL;
|
||||||
Track_t * subtitleTrack = NULL;
|
Track_t * subtitleTrack = NULL;
|
||||||
|
|
||||||
#ifdef MARTII
|
#ifdef MARTII
|
||||||
Track_t * dvbsubtitleTrack = NULL;
|
Track_t * dvbsubtitleTrack = NULL;
|
||||||
Track_t * teletextTrack = NULL;
|
Track_t * teletextTrack = NULL;
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef MARTII
|
|
||||||
int ix = packet.stream_index;
|
int ix = packet.stream_index;
|
||||||
#else
|
#else
|
||||||
int index = packet.stream_index;
|
int index = packet.stream_index;
|
||||||
@@ -599,7 +600,6 @@ static void FFMPEGThread(Context_t *context) {
|
|||||||
#else
|
#else
|
||||||
ffmpeg_printf(200, "AudioTrack index = %d\n",index);
|
ffmpeg_printf(200, "AudioTrack index = %d\n",index);
|
||||||
#endif
|
#endif
|
||||||
#ifdef MARTII
|
|
||||||
if (audioTrack->inject_raw_pcm == 1){
|
if (audioTrack->inject_raw_pcm == 1){
|
||||||
ffmpeg_printf(200,"write audio raw pcm\n");
|
ffmpeg_printf(200,"write audio raw pcm\n");
|
||||||
|
|
||||||
@@ -628,10 +628,7 @@ static void FFMPEGThread(Context_t *context) {
|
|||||||
ffmpeg_err("(raw pcm) writing data to audio device failed\n");
|
ffmpeg_err("(raw pcm) writing data to audio device failed\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else if (audioTrack->inject_as_pcm == 1)
|
||||||
#endif
|
|
||||||
|
|
||||||
if (audioTrack->inject_as_pcm == 1)
|
|
||||||
{
|
{
|
||||||
int bytesDone = 0;
|
int bytesDone = 0;
|
||||||
unsigned int samples_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
|
unsigned int samples_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
|
||||||
@@ -1136,13 +1133,11 @@ int container_ffmpeg_init(Context_t *context, char * filename)
|
|||||||
track.duration = (double) stream->duration * av_q2d(stream->time_base) * 1000.0;
|
track.duration = (double) stream->duration * av_q2d(stream->time_base) * 1000.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef MARTII
|
|
||||||
if(!strncmp(encoding, "A_PCM", 5))
|
if(!strncmp(encoding, "A_PCM", 5))
|
||||||
{
|
{
|
||||||
track.inject_raw_pcm = 1;
|
track.inject_raw_pcm = 1;
|
||||||
ffmpeg_printf(10, " Handle inject_raw_pcm = %d\n", track.inject_as_pcm);
|
ffmpeg_printf(10, " Handle inject_raw_pcm = %d\n", track.inject_as_pcm);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
if(!strncmp(encoding, "A_IPCM", 6))
|
if(!strncmp(encoding, "A_IPCM", 6))
|
||||||
{
|
{
|
||||||
track.inject_as_pcm = 1;
|
track.inject_as_pcm = 1;
|
||||||
@@ -2028,11 +2023,7 @@ static int Command(void *_context, ContainerCmd_t command, void * argument)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef MARTII
|
|
||||||
static char *FFMPEG_Capabilities[] = {"avi", "mkv", "mp4", "ts", "mov", "flv", "flac", "mp3", "mpg", "m2ts", "vob", "wmv","wma", "asf", "mp2", "m4v", "m4a", "divx", "dat", "mpeg", "trp", "mts", "vdr", "ogg", "wav", NULL };
|
static char *FFMPEG_Capabilities[] = {"avi", "mkv", "mp4", "ts", "mov", "flv", "flac", "mp3", "mpg", "m2ts", "vob", "wmv","wma", "asf", "mp2", "m4v", "m4a", "divx", "dat", "mpeg", "trp", "mts", "vdr", "ogg", "wav", NULL };
|
||||||
#else
|
|
||||||
static char *FFMPEG_Capabilities[] = {"avi", "mkv", "mp4", "ts", "mov", "flv", "flac", "mp3", "mpg", "m2ts", "vob", "wmv","wma", "asf", "mp2", "m4v", "m4a", "divx", "dat", "mpeg", "trp", "mts", "vdr", "ogg", NULL };
|
|
||||||
#endif
|
|
||||||
|
|
||||||
Container_t FFMPEGContainer = {
|
Container_t FFMPEGContainer = {
|
||||||
"FFMPEG",
|
"FFMPEG",
|
||||||
|
@@ -55,9 +55,7 @@ typedef struct Track_s {
|
|||||||
/* If player2 or the elf do not support decoding of audio codec set this.
|
/* If player2 or the elf do not support decoding of audio codec set this.
|
||||||
* AVCodec is than used for softdecoding and stream will be injected as PCM */
|
* AVCodec is than used for softdecoding and stream will be injected as PCM */
|
||||||
int inject_as_pcm;
|
int inject_as_pcm;
|
||||||
#ifdef MARTII
|
|
||||||
int inject_raw_pcm;
|
int inject_raw_pcm;
|
||||||
#endif
|
|
||||||
} Track_t;
|
} Track_t;
|
||||||
|
|
||||||
typedef struct Manager_s {
|
typedef struct Manager_s {
|
||||||
|
@@ -53,9 +53,7 @@ typedef struct Writer_s {
|
|||||||
} Writer_t;
|
} Writer_t;
|
||||||
|
|
||||||
extern Writer_t WriterAudioIPCM;
|
extern Writer_t WriterAudioIPCM;
|
||||||
#ifdef MARTII
|
|
||||||
extern Writer_t WriterAudioPCM;
|
extern Writer_t WriterAudioPCM;
|
||||||
#endif
|
|
||||||
extern Writer_t WriterAudioMP3;
|
extern Writer_t WriterAudioMP3;
|
||||||
extern Writer_t WriterAudioMPEGL3;
|
extern Writer_t WriterAudioMPEGL3;
|
||||||
extern Writer_t WriterAudioAC3;
|
extern Writer_t WriterAudioAC3;
|
||||||
@@ -83,9 +81,7 @@ extern Writer_t WriterDVBSubtitle;
|
|||||||
|
|
||||||
static Writer_t * AvailableWriter[] = {
|
static Writer_t * AvailableWriter[] = {
|
||||||
&WriterAudioIPCM,
|
&WriterAudioIPCM,
|
||||||
#ifdef MARTII
|
|
||||||
&WriterAudioPCM,
|
&WriterAudioPCM,
|
||||||
#endif
|
|
||||||
&WriterAudioMP3,
|
&WriterAudioMP3,
|
||||||
&WriterAudioMPEGL3,
|
&WriterAudioMPEGL3,
|
||||||
&WriterAudioAC3,
|
&WriterAudioAC3,
|
||||||
|
Reference in New Issue
Block a user