mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-libstb-hal.git
synced 2025-08-26 23:12:44 +02:00
Merge branch 'master' of https://github.com/TangoCash/libstb-hal-tangos
Origin commit data
------------------
Branch: master
Commit: 7094aa43c6
Author: vanhofen <vanhofen@gmx.de>
Date: 2018-10-12 (Fri, 12 Oct 2018)
------------------
No further description and justification available within origin commit message!
------------------
This commit was generated by Migit
This commit is contained in:
@@ -150,36 +150,41 @@ void cAudio::SetSyncMode(AVSYNC_TYPE Mode)
|
|||||||
ioctl(fd, AUDIO_SET_AV_SYNC, Mode);
|
ioctl(fd, AUDIO_SET_AV_SYNC, Mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define AUDIO_STREAMTYPE_AC3 0
|
||||||
|
#define AUDIO_STREAMTYPE_MPEG 1
|
||||||
|
#define AUDIO_STREAMTYPE_DTS 2
|
||||||
|
#define AUDIO_STREAMTYPE_AAC 8
|
||||||
|
#define AUDIO_STREAMTYPE_AACHE 9
|
||||||
|
|
||||||
void cAudio::SetStreamType(AUDIO_FORMAT type)
|
void cAudio::SetStreamType(AUDIO_FORMAT type)
|
||||||
{
|
{
|
||||||
const char *AF[] = {
|
int bypass = AUDIO_STREAMTYPE_MPEG;
|
||||||
"AUDIO_STREAMTYPE_AC3",
|
lt_debug("%s %d\n", __FUNCTION__, type);
|
||||||
"AUDIO_STREAMTYPE_MPEG",
|
|
||||||
"AUDIO_STREAMTYPE_DTS",
|
|
||||||
"AUDIO_STREAMTYPE_LPCM",
|
|
||||||
"AUDIO_STREAMTYPE_AAC",
|
|
||||||
"AUDIO_STREAMTYPE_AAC_HE",
|
|
||||||
"AUDIO_STREAMTYPE_MP3",
|
|
||||||
"AUDIO_STREAMTYPE_AAC_PLUS",
|
|
||||||
"AUDIO_STREAMTYPE_DTS_HD",
|
|
||||||
"AUDIO_STREAMTYPE_WMA",
|
|
||||||
"AUDIO_STREAMTYPE_WMA_PRO",
|
|
||||||
"AUDIO_STREAMTYPE_AC3_PLUS",
|
|
||||||
"AUDIO_STREAMTYPE_AMR",
|
|
||||||
"AUDIO_STREAMTYPE_RAW"
|
|
||||||
};
|
|
||||||
|
|
||||||
lt_info("%s - type=%s\n", __FUNCTION__, AF[type]);
|
|
||||||
|
|
||||||
if (ioctl(fd, AUDIO_SET_BYPASS_MODE, type) < 0)
|
|
||||||
{
|
|
||||||
perror("AUDIO_SET_BYPASS_MODE");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
StreamType = type;
|
StreamType = type;
|
||||||
|
|
||||||
return;
|
switch (type)
|
||||||
|
{
|
||||||
|
case AUDIO_FMT_DD_PLUS:
|
||||||
|
case AUDIO_FMT_DOLBY_DIGITAL:
|
||||||
|
bypass = AUDIO_STREAMTYPE_AC3;
|
||||||
|
break;
|
||||||
|
case AUDIO_FMT_AAC:
|
||||||
|
bypass = AUDIO_STREAMTYPE_AAC;
|
||||||
|
break;
|
||||||
|
case AUDIO_FMT_AAC_PLUS:
|
||||||
|
bypass = AUDIO_STREAMTYPE_AACHE;
|
||||||
|
break;
|
||||||
|
case AUDIO_FMT_DTS:
|
||||||
|
bypass = AUDIO_STREAMTYPE_DTS;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Normaly the encoding should be set using AUDIO_SET_ENCODING
|
||||||
|
// But as we implemented the behavior to bypass (cause of e2) this is correct here
|
||||||
|
if (ioctl(fd, AUDIO_SET_BYPASS_MODE, bypass) < 0)
|
||||||
|
lt_info("%s: AUDIO_SET_BYPASS_MODE failed (%m)\n", __func__);
|
||||||
}
|
}
|
||||||
|
|
||||||
int cAudio::setChannel(int channel)
|
int cAudio::setChannel(int channel)
|
||||||
|
@@ -20,21 +20,20 @@ typedef enum {
|
|||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
AUDIO_FMT_UNKNOWN = -1,
|
AUDIO_FMT_AUTO = 0,
|
||||||
AUDIO_FMT_DOLBY_DIGITAL = 0,
|
AUDIO_FMT_MPEG,
|
||||||
AUDIO_FMT_MPEG = 1,
|
AUDIO_FMT_MP3,
|
||||||
AUDIO_FMT_DTS = 2,
|
AUDIO_FMT_DOLBY_DIGITAL,
|
||||||
AUDIO_FMT_LPCM = 6,
|
AUDIO_FMT_BASIC = AUDIO_FMT_DOLBY_DIGITAL,
|
||||||
AUDIO_FMT_AAC = 8,
|
AUDIO_FMT_AAC,
|
||||||
AUDIO_FMT_AAC_HE = 9,
|
AUDIO_FMT_AAC_PLUS,
|
||||||
AUDIO_FMT_MP3 = 0xa,
|
AUDIO_FMT_DD_PLUS,
|
||||||
AUDIO_FMT_AAC_PLUS = 0xb,
|
AUDIO_FMT_DTS,
|
||||||
AUDIO_FMT_DTS_HD = 0x10,
|
AUDIO_FMT_AVS,
|
||||||
AUDIO_FMT_WMA = 0x20,
|
AUDIO_FMT_MLP,
|
||||||
AUDIO_FMT_WMA_PRO = 0x21,
|
AUDIO_FMT_WMA,
|
||||||
AUDIO_FMT_DD_PLUS = 0x22,
|
AUDIO_FMT_MPG1, // TD only. For Movieplayer / cPlayback
|
||||||
AUDIO_FMT_AMR = 0x23,
|
AUDIO_FMT_ADVANCED = AUDIO_FMT_MLP
|
||||||
AUDIO_FMT_RAW = 0xf
|
|
||||||
} AUDIO_FORMAT;
|
} AUDIO_FORMAT;
|
||||||
|
|
||||||
class mixerVolume;
|
class mixerVolume;
|
||||||
|
@@ -140,6 +140,15 @@ static const char *vid_modes[] = {
|
|||||||
"720p50" // VIDEO_STD_AUTO
|
"720p50" // VIDEO_STD_AUTO
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define VIDEO_STREAMTYPE_MPEG2 0
|
||||||
|
#define VIDEO_STREAMTYPE_MPEG4_H264 1
|
||||||
|
#define VIDEO_STREAMTYPE_VC1 3
|
||||||
|
#define VIDEO_STREAMTYPE_MPEG4_Part2 4
|
||||||
|
#define VIDEO_STREAMTYPE_VC1_SM 5
|
||||||
|
#define VIDEO_STREAMTYPE_MPEG1 6
|
||||||
|
#define VIDEO_STREAMTYPE_H265_HEVC 7
|
||||||
|
#define VIDEO_STREAMTYPE_AVS 16
|
||||||
|
|
||||||
ssize_t write_all(int fd, const void *buf, size_t count)
|
ssize_t write_all(int fd, const void *buf, size_t count)
|
||||||
{
|
{
|
||||||
int retval;
|
int retval;
|
||||||
@@ -749,26 +758,39 @@ void cVideo::SetSyncMode(AVSYNC_TYPE mode)
|
|||||||
|
|
||||||
int cVideo::SetStreamType(VIDEO_FORMAT type)
|
int cVideo::SetStreamType(VIDEO_FORMAT type)
|
||||||
{
|
{
|
||||||
const char *VF[] = {
|
static const char *VF[] = {
|
||||||
"VIDEO_STREAMTYPE_MPEG2",
|
"VIDEO_FORMAT_MPEG2",
|
||||||
"VIDEO_STREAMTYPE_MPEG4_H264",
|
"VIDEO_FORMAT_MPEG4",
|
||||||
"VIDEO_STREAMTYPE_MPEG4_H263",
|
"VIDEO_FORMAT_VC1",
|
||||||
"VIDEO_STREAMTYPE_VC1",
|
"VIDEO_FORMAT_JPEG",
|
||||||
"VIDEO_STREAMTYPE_MPEG4_Part2",
|
"VIDEO_FORMAT_GIF",
|
||||||
"VIDEO_STREAMTYPE_VC1_SM",
|
"VIDEO_FORMAT_PNG"
|
||||||
"VIDEO_STREAMTYPE_MPEG1",
|
|
||||||
"VIDEO_STREAMTYPE_DIVX311"
|
|
||||||
"VIDEO_STREAMTYPE_H265_HEVC",
|
|
||||||
"VIDEO_STREAMTYPE_AVS"
|
|
||||||
};
|
};
|
||||||
|
int t;
|
||||||
|
lt_debug("#%d: %s type=%s\n", devnum, __func__, VF[type]);
|
||||||
|
|
||||||
lt_info("%s - type=%s\n", __FUNCTION__, VF[type]);
|
switch (type)
|
||||||
|
{
|
||||||
if (ioctl( fd, VIDEO_SET_STREAMTYPE, type) < 0)
|
case VIDEO_FORMAT_MPEG4_H264:
|
||||||
perror("VIDEO_SET_STREAMTYPE");
|
t = VIDEO_STREAMTYPE_MPEG4_H264;
|
||||||
|
break;
|
||||||
StreamType = type;
|
case VIDEO_FORMAT_MPEG4_H265:
|
||||||
|
t = VIDEO_STREAMTYPE_H265_HEVC;
|
||||||
|
break;
|
||||||
|
case VIDEO_FORMAT_AVS:
|
||||||
|
t = VIDEO_STREAMTYPE_AVS;
|
||||||
|
break;
|
||||||
|
case VIDEO_FORMAT_VC1:
|
||||||
|
t = VIDEO_STREAMTYPE_VC1;
|
||||||
|
break;
|
||||||
|
case VIDEO_FORMAT_MPEG2:
|
||||||
|
default:
|
||||||
|
t = VIDEO_STREAMTYPE_MPEG2;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ioctl(fd, VIDEO_SET_STREAMTYPE, t) < 0)
|
||||||
|
lt_info("%s VIDEO_SET_STREAMTYPE(%d) failed: %m\n", __func__, t);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -35,23 +35,14 @@ typedef enum {
|
|||||||
} COLOR_FORMAT;
|
} COLOR_FORMAT;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
VIDEO_STREAMTYPE_UNKNOWN = -1,
|
VIDEO_FORMAT_MPEG2 = 0,
|
||||||
VIDEO_STREAMTYPE_MPEG2 = 0,
|
VIDEO_FORMAT_MPEG4_H264,
|
||||||
VIDEO_STREAMTYPE_MPEG4_H264 = 1,
|
VIDEO_FORMAT_VC1,
|
||||||
VIDEO_STREAMTYPE_H263 = 2,
|
VIDEO_FORMAT_JPEG,
|
||||||
VIDEO_STREAMTYPE_VC1 = 3,
|
VIDEO_FORMAT_GIF,
|
||||||
VIDEO_STREAMTYPE_MPEG4_Part2 = 4,
|
VIDEO_FORMAT_PNG,
|
||||||
VIDEO_STREAMTYPE_VC1_SM = 5,
|
VIDEO_FORMAT_MPEG4_H265,
|
||||||
VIDEO_STREAMTYPE_MPEG1 = 6,
|
VIDEO_FORMAT_AVS = 16
|
||||||
VIDEO_STREAMTYPE_MPEG4_H265 = 7,
|
|
||||||
VIDEO_STREAMTYPE_VB8 = 8,
|
|
||||||
VIDEO_STREAMTYPE_VB9 = 9,
|
|
||||||
VIDEO_STREAMTYPE_XVID = 10,
|
|
||||||
VIDEO_STREAMTYPE_DIVX311 = 13,
|
|
||||||
VIDEO_STREAMTYPE_DIVX4 = 14,
|
|
||||||
VIDEO_STREAMTYPE_DIVX5 = 15,
|
|
||||||
VIDEO_STREAMTYPE_VB6 = 18,
|
|
||||||
VIDEO_STREAMTYPE_SPARK = 21
|
|
||||||
} VIDEO_FORMAT;
|
} VIDEO_FORMAT;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
Reference in New Issue
Block a user