mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-libstb-hal.git
synced 2025-08-26 15:02:43 +02:00
DMX_PIP_CHANNEL removed, DMX_VIDEO_CHANNEL does the same
Origin commit data
------------------
Branch: master
Commit: 58d27530c3
Author: BPanther <bpanther_ts@hotmail.com>
Date: 2021-10-02 (Sat, 02 Oct 2021)
------------------
No further description and justification available within origin commit message!
------------------
This commit was generated by Migit
This commit is contained in:
@@ -65,7 +65,6 @@ typedef enum
|
||||
DMX_AUDIO_CHANNEL,
|
||||
DMX_PES_CHANNEL,
|
||||
DMX_PSI_CHANNEL,
|
||||
DMX_PIP_CHANNEL,
|
||||
DMX_TP_CHANNEL,
|
||||
DMX_PCR_ONLY_CHANNEL
|
||||
} DMX_CHANNEL_TYPE;
|
||||
|
@@ -511,7 +511,6 @@ bool cDemux::pesFilter(const unsigned short _pid)
|
||||
|
||||
switch (dmx_type)
|
||||
{
|
||||
case DMX_PIP_CHANNEL:
|
||||
case DMX_VIDEO_CHANNEL:
|
||||
switch (num)
|
||||
{
|
||||
@@ -532,18 +531,15 @@ bool cDemux::pesFilter(const unsigned short _pid)
|
||||
break;
|
||||
case DMX_PES_CHANNEL:
|
||||
p_flt.pes_type = DMX_PES_OTHER;
|
||||
p_flt.output = DMX_OUT_TAP;
|
||||
p_flt.output = DMX_OUT_TAP;
|
||||
break;
|
||||
#if 0
|
||||
case DMX_PSI_CHANNEL:
|
||||
break;
|
||||
case DMX_PIP_CHANNEL: /* PIP is a special version of DMX_VIDEO_CHANNEL */
|
||||
p_flt.pes_type = DMX_PES_VIDEO1;
|
||||
break;
|
||||
#endif
|
||||
case DMX_TP_CHANNEL:
|
||||
p_flt.pes_type = DMX_PES_OTHER;
|
||||
p_flt.output = DMX_OUT_TSDEMUX_TAP;
|
||||
p_flt.output = DMX_OUT_TSDEMUX_TAP;
|
||||
break;
|
||||
case DMX_PCR_ONLY_CHANNEL:
|
||||
switch (num)
|
||||
|
@@ -16,7 +16,6 @@ typedef enum
|
||||
DMX_AUDIO_CHANNEL,
|
||||
DMX_PES_CHANNEL,
|
||||
DMX_PSI_CHANNEL,
|
||||
DMX_PIP_CHANNEL,
|
||||
DMX_TP_CHANNEL,
|
||||
DMX_PCR_ONLY_CHANNEL
|
||||
} DMX_CHANNEL_TYPE;
|
||||
|
@@ -8,13 +8,13 @@
|
||||
|
||||
#include <linux/dvb/audio.h>
|
||||
|
||||
#include <hardware_caps.h>
|
||||
#include <proc_tools.h>
|
||||
|
||||
#include "audio_lib.h"
|
||||
#include "audio_mixer.h"
|
||||
#include "hal_debug.h"
|
||||
|
||||
#define AUDIO_DEVICE "/dev/dvb/adapter0/audio0"
|
||||
#define hal_debug(args...) _hal_debug(HAL_DEBUG_AUDIO, this, args)
|
||||
#define hal_info(args...) _hal_info(HAL_DEBUG_AUDIO, this, args)
|
||||
|
||||
@@ -27,9 +27,26 @@ enum
|
||||
};
|
||||
|
||||
cAudio *audioDecoder = NULL;
|
||||
cAudio *pipAudioDecoder = NULL;
|
||||
|
||||
cAudio::cAudio(void *, void *, void *)
|
||||
static const char *ADEV[] =
|
||||
{
|
||||
"/dev/dvb/adapter0/audio0",
|
||||
"/dev/dvb/adapter0/audio1",
|
||||
"/dev/dvb/adapter0/audio2",
|
||||
"/dev/dvb/adapter0/audio3"
|
||||
};
|
||||
|
||||
cAudio::cAudio(void *, void *, void *, unsigned int unit)
|
||||
{
|
||||
hw_caps_t *hwcaps = get_hwcaps();
|
||||
if (unit > (unsigned int) hwcaps->pip_devs)
|
||||
{
|
||||
hal_info("%s: unit %d out of range, setting to 0\n", __func__, unit);
|
||||
devnum = 0;
|
||||
}
|
||||
else
|
||||
devnum = unit;
|
||||
fd = -1;
|
||||
clipfd = -1;
|
||||
mixer_fd = -1;
|
||||
@@ -54,7 +71,7 @@ void cAudio::openDevice(void)
|
||||
|
||||
if (fd < 0)
|
||||
{
|
||||
if ((fd = open(AUDIO_DEVICE, O_RDWR)) < 0)
|
||||
if ((fd = open(ADEV[devnum], O_RDWR)) < 0)
|
||||
hal_info("openDevice: open failed (%m)\n");
|
||||
fcntl(fd, F_SETFD, FD_CLOEXEC);
|
||||
do_mute(true, false);
|
||||
|
@@ -26,6 +26,7 @@ class cAudio
|
||||
friend class cPlayback;
|
||||
private:
|
||||
int fd;
|
||||
unsigned int devnum;
|
||||
bool Muted;
|
||||
|
||||
int clipfd; /* for pcm playback */
|
||||
@@ -50,7 +51,7 @@ class cAudio
|
||||
|
||||
public:
|
||||
/* construct & destruct */
|
||||
cAudio(void *, void *, void *);
|
||||
cAudio(void *, void *, void *, unsigned int unit = 0);
|
||||
~cAudio(void);
|
||||
|
||||
void open_AVInput_Device(void)
|
||||
|
@@ -503,31 +503,50 @@ bool cDemux::pesFilter(const unsigned short _pid)
|
||||
|
||||
memset(&p_flt, 0, sizeof(p_flt));
|
||||
p_flt.pid = pid;
|
||||
p_flt.output = DMX_OUT_DECODER;
|
||||
p_flt.input = DMX_IN_FRONTEND;
|
||||
p_flt.output = DMX_OUT_DECODER;
|
||||
p_flt.flags = DMX_IMMEDIATE_START;
|
||||
|
||||
switch (dmx_type)
|
||||
{
|
||||
case DMX_PCR_ONLY_CHANNEL:
|
||||
p_flt.pes_type = DMX_PES_PCR;
|
||||
case DMX_VIDEO_CHANNEL:
|
||||
switch (num)
|
||||
{
|
||||
case 0: p_flt.pes_type = DMX_PES_VIDEO0; break;
|
||||
case 1: p_flt.pes_type = DMX_PES_VIDEO1; break;
|
||||
case 2: p_flt.pes_type = DMX_PES_VIDEO2; break;
|
||||
case 3: p_flt.pes_type = DMX_PES_VIDEO3; break;
|
||||
}
|
||||
break;
|
||||
case DMX_AUDIO_CHANNEL:
|
||||
p_flt.pes_type = DMX_PES_AUDIO;
|
||||
break;
|
||||
case DMX_VIDEO_CHANNEL:
|
||||
p_flt.pes_type = DMX_PES_VIDEO;
|
||||
break;
|
||||
case DMX_PIP_CHANNEL: /* PIP is a special version of DMX_VIDEO_CHANNEL */
|
||||
p_flt.pes_type = DMX_PES_VIDEO1;
|
||||
switch (num)
|
||||
{
|
||||
case 0: p_flt.pes_type = DMX_PES_AUDIO0; break;
|
||||
case 1: p_flt.pes_type = DMX_PES_AUDIO1; break;
|
||||
case 2: p_flt.pes_type = DMX_PES_AUDIO2; break;
|
||||
case 3: p_flt.pes_type = DMX_PES_AUDIO3; break;
|
||||
}
|
||||
break;
|
||||
case DMX_PES_CHANNEL:
|
||||
p_flt.pes_type = DMX_PES_OTHER;
|
||||
p_flt.output = DMX_OUT_TAP;
|
||||
p_flt.output = DMX_OUT_TAP;
|
||||
break;
|
||||
#if 0
|
||||
case DMX_PSI_CHANNEL:
|
||||
break;
|
||||
#endif
|
||||
case DMX_TP_CHANNEL:
|
||||
p_flt.pes_type = DMX_PES_OTHER;
|
||||
p_flt.output = DMX_OUT_TSDEMUX_TAP;
|
||||
p_flt.output = DMX_OUT_TSDEMUX_TAP;
|
||||
break;
|
||||
case DMX_PCR_ONLY_CHANNEL:
|
||||
switch (num)
|
||||
{
|
||||
case 0: p_flt.pes_type = DMX_PES_PCR0; break;
|
||||
case 1: p_flt.pes_type = DMX_PES_PCR1; break;
|
||||
case 2: p_flt.pes_type = DMX_PES_PCR2; break;
|
||||
case 3: p_flt.pes_type = DMX_PES_PCR3; break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
hal_info("%s #%d invalid dmx_type %d!\n", __func__, num, dmx_type);
|
||||
|
@@ -29,8 +29,11 @@ hw_caps_t *get_hwcaps(void)
|
||||
|
||||
memset(&caps, 0, sizeof(hw_caps_t));
|
||||
|
||||
if (access("/dev/dvb/adapter0/video1", F_OK) != -1)
|
||||
caps.can_pip = 1;
|
||||
caps.pip_devs = 0;
|
||||
if (access("/dev/dvb/adapter0/video1", F_OK) != -1) caps.pip_devs = 1;
|
||||
if (access("/dev/dvb/adapter0/video2", F_OK) != -1) caps.pip_devs = 2;
|
||||
if (access("/dev/dvb/adapter0/video3", F_OK) != -1) caps.pip_devs = 3;
|
||||
if (caps.pip_devs > 0) caps.can_pip = 1;
|
||||
|
||||
caps.has_CI = 0;
|
||||
caps.can_cec = 1;
|
||||
|
@@ -39,6 +39,7 @@
|
||||
#include "video_lib.h"
|
||||
#include "hal_debug.h"
|
||||
|
||||
#include <hardware_caps.h>
|
||||
#include <proc_tools.h>
|
||||
|
||||
extern "C"
|
||||
@@ -82,36 +83,48 @@ static bool stillpicture = false;
|
||||
static const char *VDEV[] =
|
||||
{
|
||||
"/dev/dvb/adapter0/video0",
|
||||
"/dev/dvb/adapter0/video1"
|
||||
"/dev/dvb/adapter0/video1",
|
||||
"/dev/dvb/adapter0/video2",
|
||||
"/dev/dvb/adapter0/video3"
|
||||
};
|
||||
static const char *VMPEG_aspect[] =
|
||||
{
|
||||
"/proc/stb/vmpeg/0/aspect",
|
||||
"/proc/stb/vmpeg/1/aspect"
|
||||
"/proc/stb/vmpeg/1/aspect",
|
||||
"/proc/stb/vmpeg/2/aspect",
|
||||
"/proc/stb/vmpeg/3/aspect"
|
||||
};
|
||||
|
||||
static const char *VMPEG_xres[] =
|
||||
{
|
||||
"/proc/stb/vmpeg/0/xres",
|
||||
"/proc/stb/vmpeg/1/xres"
|
||||
"/proc/stb/vmpeg/1/xres",
|
||||
"/proc/stb/vmpeg/2/xres",
|
||||
"/proc/stb/vmpeg/3/xres"
|
||||
};
|
||||
|
||||
static const char *VMPEG_yres[] =
|
||||
{
|
||||
"/proc/stb/vmpeg/0/yres",
|
||||
"/proc/stb/vmpeg/1/yres"
|
||||
"/proc/stb/vmpeg/1/yres",
|
||||
"/proc/stb/vmpeg/2/yres",
|
||||
"/proc/stb/vmpeg/3/yres"
|
||||
};
|
||||
|
||||
static const char *VMPEG_dst_all[] =
|
||||
{
|
||||
"/proc/stb/vmpeg/0/dst_all",
|
||||
"/proc/stb/vmpeg/1/dst_all"
|
||||
"/proc/stb/vmpeg/1/dst_all",
|
||||
"/proc/stb/vmpeg/2/dst_all",
|
||||
"/proc/stb/vmpeg/3/dst_all"
|
||||
};
|
||||
|
||||
static const char *VMPEG_framerate[] =
|
||||
{
|
||||
"/proc/stb/vmpeg/0/framerate",
|
||||
"/proc/stb/vmpeg/1/framerate"
|
||||
"/proc/stb/vmpeg/1/framerate",
|
||||
"/proc/stb/vmpeg/2/framerate",
|
||||
"/proc/stb/vmpeg/3/framerate"
|
||||
};
|
||||
|
||||
static const char *VMPEG_visible[] =
|
||||
|
Reference in New Issue
Block a user