summaryrefslogtreecommitdiff
path: root/lib/dvb/decoder.cpp
diff options
context:
space:
mode:
authorhschang <chang@dev3>2017-09-14 06:18:44 (GMT)
committerhschang <chang@dev3>2017-09-14 06:20:20 (GMT)
commitd8e08fe0a7304ed06b3de0b9ad6d4265ec8063b8 (patch)
tree6c5268db48a56ec5cfb8098a71dd4ddb54a8125f /lib/dvb/decoder.cpp
parent9643c5926e2aa5a7a57c251365be0f5f2c00ddfe (diff)
Remove check legacy dvbapi version.
Diffstat (limited to 'lib/dvb/decoder.cpp')
-rw-r--r--lib/dvb/decoder.cpp335
1 files changed, 0 insertions, 335 deletions
diff --git a/lib/dvb/decoder.cpp b/lib/dvb/decoder.cpp
index 2091114..0ce22bd 100644
--- a/lib/dvb/decoder.cpp
+++ b/lib/dvb/decoder.cpp
@@ -1,31 +1,9 @@
#include <lib/base/ebase.h>
#include <lib/base/eerror.h>
#include <lib/dvb/decoder.h>
-#if HAVE_DVB_API_VERSION < 3
-#define audioStatus audio_status
-#define videoStatus video_status
-#define pesType pes_type
-#define playState play_state
-#define audioStreamSource_t audio_stream_source_t
-#define videoStreamSource_t video_stream_source_t
-#define streamSource stream_source
-#define dmxPesFilterParams dmx_pes_filter_params
-#define DMX_PES_VIDEO0 DMX_PES_VIDEO
-#define DMX_PES_AUDIO0 DMX_PES_AUDIO
-#define DMX_PES_PCR0 DMX_PES_PCR
-#define DMX_PES_TELETEXT0 DMX_PES_TELETEXT
-#define DMX_PES_VIDEO1 DMX_PES_VIDEO
-#define DMX_PES_AUDIO1 DMX_PES_AUDIO
-#define DMX_PES_PCR1 DMX_PES_PCR
-#define DMX_PES_TELETEXT1 DMX_PES_TELETEXT
-#include <ost/dmx.h>
-#include <ost/video.h>
-#include <ost/audio.h>
-#else
#include <linux/dvb/audio.h>
#include <linux/dvb/video.h>
#include <linux/dvb/dmx.h>
-#endif
#include <unistd.h>
#include <fcntl.h>
@@ -55,21 +33,13 @@ eDVBAudio::eDVBAudio(eDVBDemux *demux, int dev)
:m_demux(demux), m_dev(dev)
{
char filename[128];
-#if HAVE_DVB_API_VERSION < 3
- sprintf(filename, "/dev/dvb/card%d/audio%d", demux->adapter, dev);
-#else
sprintf(filename, "/dev/dvb/adapter%d/audio%d", demux ? demux->adapter : 0, dev);
-#endif
m_fd = ::open(filename, O_RDWR);
if (m_fd < 0)
eWarning("%s: %m", filename);
if (demux)
{
-#if HAVE_DVB_API_VERSION < 3
- sprintf(filename, "/dev/dvb/card%d/demux%d", demux->adapter, demux->demux);
-#else
sprintf(filename, "/dev/dvb/adapter%d/demux%d", demux->adapter, demux->demux);
-#endif
m_fd_demux = ::open(filename, O_RDWR);
if (m_fd_demux < 0)
eWarning("%s: %m", filename);
@@ -85,98 +55,6 @@ eDVBAudio::eDVBAudio(eDVBDemux *demux, int dev)
}
}
-#if HAVE_DVB_API_VERSION < 3
-int eDVBAudio::setPid(int pid, int type)
-{
- if ((m_fd < 0) || (m_fd_demux < 0))
- return -1;
-
- int bypass = 0;
-
- switch (type)
- {
- case aMPEG:
- bypass = 1;
- break;
- case aAC3:
- bypass = 0;
- break;
- /*
- case aDTS:
- bypass = 2;
- break;
- */
- }
-
- if (::ioctl(m_fd, AUDIO_SET_BYPASS_MODE, bypass) < 0)
- eDebug("failed (%m)");
-
- dmx_pes_filter_params pes;
-
- pes.pid = pid;
- pes.input = DMX_IN_FRONTEND;
- pes.output = DMX_OUT_DECODER;
- pes.pes_type = m_dev ? DMX_PES_AUDIO1 : DMX_PES_AUDIO0; /* FIXME */
- pes.flags = 0;
- eDebugNoNewLine("DMX_SET_PES_FILTER(0x%02x) - audio - ", pid);
- if (::ioctl(m_fd_demux, DMX_SET_PES_FILTER, &pes) < 0)
- {
- eDebug("failed (%m)");
- return -errno;
- }
- eDebug("ok");
-
- return 0;
-}
-
-int eDVBAudio::startPid()
-{
- eDebugNoNewLine("DEMUX_START - audio - ");
- if (::ioctl(m_fd_demux, DMX_START) < 0)
- {
- eDebug("failed (%m)");
- return -errno;
- }
- eDebug("ok");
- return 0;
-}
-
-int eDVBAudio::start()
-{
- eDebugNoNewLine("AUDIO_PLAY - ");
- if (::ioctl(m_fd, AUDIO_PLAY) < 0)
- {
- eDebug("failed (%m)");
- return -errno;
- }
- eDebug("ok");
- return 0;
-}
-
-int eDVBAudio::stopPid()
-{
- eDebugNoNewLine("DEMUX_STOP - audio - ");
- if (::ioctl(m_fd_demux, DMX_STOP) < 0)
- {
- eDebug("failed (%m)");
- return -errno;
- }
- eDebug("ok");
- return 0;
-}
-
-int eDVBAudio::setAVSync(int val)
-{
- eDebugNoNewLine("AUDIO_SET_AV_SYNC - ");
- if (::ioctl(m_fd, AUDIO_SET_AV_SYNC, val) < 0)
- {
- eDebug("failed (%m)");
- return -errno;
- }
- eDebug("ok");
- return 0;
-}
-#else
int eDVBAudio::startPid(int pid, int type)
{
if (m_fd_demux >= 0)
@@ -265,7 +143,6 @@ int eDVBAudio::startPid(int pid, int type)
}
return 0;
}
-#endif
void eDVBAudio::stop()
{
@@ -280,13 +157,11 @@ void eDVBAudio::stop()
if (m_fd_demux >= 0)
{
-#if HAVE_DVB_API_VERSION > 2
eDebugNoNewLine("DEMUX_STOP - audio - ");
if (::ioctl(m_fd_demux, DMX_STOP) < 0)
eDebug("failed (%m)");
else
eDebug("ok");
-#endif
}
}
@@ -356,14 +231,7 @@ eDVBVideo::eDVBVideo(eDVBDemux *demux, int dev, bool fcc_enable)
m_width(-1), m_height(-1), m_framerate(-1), m_aspect(-1), m_progressive(-1)
{
char filename[128];
-#if HAVE_DVB_API_VERSION < 3
- sprintf(filename, "/dev/dvb/card%d/video%d", demux->adapter, dev);
- m_fd_video = ::open("/dev/video", O_RDWR);
- if (m_fd_video < 0)
- eWarning("/dev/video: %m");
-#else
sprintf(filename, "/dev/dvb/adapter%d/video%d", demux ? demux->adapter : 0, dev);
-#endif
m_fd = ::open(filename, O_RDWR);
if (m_fd < 0)
eWarning("%s: %m", filename);
@@ -378,11 +246,7 @@ eDVBVideo::eDVBVideo(eDVBDemux *demux, int dev, bool fcc_enable)
if (demux)
{
-#if HAVE_DVB_API_VERSION < 3
- sprintf(filename, "/dev/dvb/card%d/demux%d", demux->adapter, demux->demux);
-#else
sprintf(filename, "/dev/dvb/adapter%d/demux%d", demux->adapter, demux->demux);
-#endif
m_fd_demux = ::open(filename, O_RDWR);
if (m_fd_demux < 0)
eWarning("%s: %m", filename);
@@ -408,64 +272,6 @@ eDVBVideo::eDVBVideo(eDVBDemux *demux, int dev, bool fcc_enable)
#define VIDEO_STREAMTYPE_MPEG1 6
#define VIDEO_STREAMTYPE_H265_HEVC 7
-#if HAVE_DVB_API_VERSION < 3
-int eDVBVideo::setPid(int pid)
-{
- if ((m_fd < 0) || (m_fd_demux < 0))
- return -1;
- dmx_pes_filter_params pes;
-
- pes.pid = pid;
- pes.input = DMX_IN_FRONTEND;
- pes.output = DMX_OUT_DECODER;
- pes.pes_type = m_dev ? DMX_PES_VIDEO1 : DMX_PES_VIDEO0; /* FIXME */
- pes.flags = 0;
- eDebugNoNewLine("DMX_SET_PES_FILTER(0x%02x) - video - ", pid);
- if (::ioctl(m_fd_demux, DMX_SET_PES_FILTER, &pes) < 0)
- {
- eDebug("failed (%m)");
- return -errno;
- }
- eDebug("ok");
- return 0;
-}
-
-int eDVBVideo::startPid()
-{
- eDebugNoNewLine("DEMUX_START - video - ");
- if (::ioctl(m_fd_demux, DMX_START) < 0)
- {
- eDebug("failed (%m)");
- return -errno;
- }
- eDebug("ok");
- return 0;
-}
-
-int eDVBVideo::start()
-{
- eDebugNoNewLine("VIDEO_PLAY - ");
- if (::ioctl(m_fd, VIDEO_PLAY) < 0)
- {
- eDebug("failed (%m)");
- return -errno;
- }
- eDebug("ok");
- return 0;
-}
-
-int eDVBVideo::stopPid()
-{
- eDebugNoNewLine("DEMUX_STOP - video - ");
- if (::ioctl(m_fd_demux, DMX_STOP) < 0)
- {
- eDebug("failed (%m)");
- return -errno;
- }
- eDebug("ok");
- return 0;
-}
-#else
int eDVBVideo::startPid(int pid, int type)
{
if (m_fcc_enable)
@@ -557,7 +363,6 @@ int eDVBVideo::startPid(int pid, int type)
}
return 0;
}
-#endif
void eDVBVideo::stop()
{
@@ -566,13 +371,11 @@ void eDVBVideo::stop()
if (m_fd_demux >= 0)
{
-#if HAVE_DVB_API_VERSION > 2
eDebugNoNewLine("DEMUX_STOP - video - ");
if (::ioctl(m_fd_demux, DMX_STOP) < 0)
eDebug("failed (%m)");
else
eDebug("ok");
-#endif
}
if (m_fd >= 0)
@@ -636,15 +439,7 @@ int eDVBVideo::setFastForward(int skip)
int eDVBVideo::getPTS(pts_t &now)
{
-#if HAVE_DVB_API_VERSION < 3
- #define VIDEO_GET_PTS_OLD _IOR('o', 1, unsigned int*)
- unsigned int pts;
- int ret = ::ioctl(m_fd_video, VIDEO_GET_PTS_OLD, &pts);
- now = pts;
- now *= 2;
-#else
int ret = ::ioctl(m_fd, VIDEO_GET_PTS, &now);
-#endif
if (ret < 0)
eDebug("VIDEO_GET_PTS failed(%m)");
return ret;
@@ -656,15 +451,10 @@ eDVBVideo::~eDVBVideo()
::close(m_fd);
if (m_fd_demux >= 0)
::close(m_fd_demux);
-#if HAVE_DVB_API_VERSION < 3
- if (m_fd_video >= 0)
- ::close(m_fd_video);
-#endif
}
void eDVBVideo::video_event(int)
{
-#if HAVE_DVB_API_VERSION >= 3
struct video_event evt;
eDebugNoNewLine("VIDEO_GET_EVENT - ");
if (::ioctl(m_fd, VIDEO_GET_EVENT, &evt) < 0)
@@ -698,9 +488,6 @@ void eDVBVideo::video_event(int)
else
eDebug("unhandled DVBAPI Video Event %d", evt.type);
}
-#else
-#warning "FIXMEE!! Video Events not implemented for old api"
-#endif
}
RESULT eDVBVideo::connectEvent(const Slot1<void, struct iTSMPEGDecoder::videoEvent> &event, ePtr<eConnection> &conn)
@@ -725,7 +512,6 @@ static int readMpegProc(const char *str, int decoder)
static int readApiSize(int fd, int &xres, int &yres, int &aspect)
{
-#if HAVE_DVB_API_VERSION >= 3
video_size_t size;
if (!::ioctl(fd, VIDEO_GET_SIZE, &size))
{
@@ -735,13 +521,11 @@ static int readApiSize(int fd, int &xres, int &yres, int &aspect)
return 0;
}
// eDebug("VIDEO_GET_SIZE failed (%m)");
-#endif
return -1;
}
static int readApiFrameRate(int fd, int &framerate)
{
-#if HAVE_DVB_API_VERSION >= 3
unsigned int frate;
if (!::ioctl(fd, VIDEO_GET_FRAME_RATE, &frate))
{
@@ -749,7 +533,6 @@ static int readApiFrameRate(int fd, int &framerate)
return 0;
}
// eDebug("VIDEO_GET_FRAME_RATE failed (%m)");
-#endif
return -1;
}
@@ -801,53 +584,12 @@ DEFINE_REF(eDVBPCR);
eDVBPCR::eDVBPCR(eDVBDemux *demux, int dev): m_demux(demux), m_dev(dev)
{
char filename[128];
-#if HAVE_DVB_API_VERSION < 3
- sprintf(filename, "/dev/dvb/card%d/demux%d", demux->adapter, demux->demux);
-#else
sprintf(filename, "/dev/dvb/adapter%d/demux%d", demux->adapter, demux->demux);
-#endif
m_fd_demux = ::open(filename, O_RDWR);
if (m_fd_demux < 0)
eWarning("%s: %m", filename);
}
-#if HAVE_DVB_API_VERSION < 3
-int eDVBPCR::setPid(int pid)
-{
- if (m_fd_demux < 0)
- return -1;
- dmx_pes_filter_params pes;
-
- pes.pid = pid;
- pes.input = DMX_IN_FRONTEND;
- pes.output = DMX_OUT_DECODER;
- pes.pes_type = DMX_PES_PCR;
- pes.flags = 0;
-
- eDebugNoNewLine("DMX_SET_PES_FILTER(0x%02x) - pcr - ", pid);
- if (::ioctl(m_fd_demux, DMX_SET_PES_FILTER, &pes) < 0)
- {
- eDebug("failed (%m)");
- return -errno;
- }
- eDebug("ok");
- return 0;
-}
-
-int eDVBPCR::startPid()
-{
- if (m_fd_demux < 0)
- return -1;
- eDebugNoNewLine("DEMUX_START - pcr - ");
- if (::ioctl(m_fd_demux, DMX_START) < 0)
- {
- eDebug("failed (%m)");
- return -errno;
- }
- eDebug("ok");
- return 0;
-}
-#else
int eDVBPCR::startPid(int pid)
{
if (m_fd_demux < 0)
@@ -889,7 +631,6 @@ int eDVBPCR::startPid(int pid)
eDebug("ok");
return 0;
}
-#endif
void eDVBPCR::stop()
{
@@ -912,11 +653,7 @@ eDVBTText::eDVBTText(eDVBDemux *demux, int dev)
:m_demux(demux), m_dev(dev)
{
char filename[128];
-#if HAVE_DVB_API_VERSION < 3
- sprintf(filename, "/dev/dvb/card%d/demux%d", demux->adapter, demux->demux);
-#else
sprintf(filename, "/dev/dvb/adapter%d/demux%d", demux->adapter, demux->demux);
-#endif
m_fd_demux = ::open(filename, O_RDWR);
if (m_fd_demux < 0)
eWarning("%s: %m", filename);
@@ -985,77 +722,6 @@ int eTSMPEGDecoder::setState()
eDebug("decoder state: %s, vpid=%d, apid=%d", decoder_states[m_state], m_vpid, m_apid);
int changed = m_changed;
-#if HAVE_DVB_API_VERSION < 3
- bool checkAVSync = m_changed & (changeAudio|changeVideo|changePCR);
- if (m_changed & changeAudio && m_audio)
- m_audio->stopPid();
- if (m_changed & changeVideo && m_video)
- m_video->stopPid();
- if (m_changed & changePCR && m_pcr)
- {
- m_pcr->stop();
- m_pcr=0;
- if (!(m_pcrpid >= 0 && m_pcrpid < 0x1ff))
- m_changed &= ~changePCR;
- }
- if (m_changed & changeAudio && m_audio)
- {
- m_audio->stop();
- m_audio=0;
- if (!(m_apid >= 0 && m_apid < 0x1ff))
- m_changed &= ~changeAudio;
- }
- if (m_changed & changeVideo && m_video)
- {
- m_video->stop();
- m_video=0;
- m_video_event_conn=0;
- if (!(m_vpid >= 0 && m_vpid < 0x1ff))
- m_changed &= ~changeVideo;
- }
- if (m_changed & changeVideo)
- {
- m_video = new eDVBVideo(m_demux, m_decoder);
- m_video->connectEvent(slot(*this, &eTSMPEGDecoder::video_event), m_video_event_conn);
- if (m_video->setPid(m_vpid))
- res -1;
- }
- if (m_changed & changePCR)
- {
- m_pcr = new eDVBPCR(m_demux, m_decoder);
- if (m_pcr->setPid(m_pcrpid))
- res = -1;
- }
- if (m_changed & changeAudio)
- {
- m_audio = new eDVBAudio(m_demux, m_decoder);
- if (m_audio->setPid(m_apid, m_atype))
- res = -1;
- }
- if (m_changed & changePCR)
- {
- if (m_pcr->startPid())
- res = -1;
- m_changed &= ~changePCR;
- }
- else if (checkAVSync && m_audio && m_video)
- {
- if (m_audio->setAVSync(1))
- res = -1;
- }
- if (m_changed & changeVideo)
- {
- if (m_video->startPid() || m_video->start())
- res = -1;
- m_changed &= ~changeVideo;
- }
- if (m_changed & changeAudio)
- {
- if (m_audio->start() || m_audio->startPid())
- res = -1;
- m_changed &= ~changeAudio;
- }
-#else
if (m_changed & changePCR)
{
if (m_pcr)
@@ -1124,7 +790,6 @@ int eTSMPEGDecoder::setState()
}
m_changed &= ~changeText;
}
-#endif
if (changed & (changeState|changeVideo|changeAudio))
{