mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-libstb-hal.git
synced 2025-08-26 23:12:44 +02:00
sync with seife
Origin commit data
------------------
Branch: master
Commit: bb86b78aad
Author: martii <m4rtii@gmx.de>
Date: 2013-06-19 (Wed, 19 Jun 2013)
------------------
No further description and justification available within origin commit message!
------------------
This commit was generated by Migit
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
INCLUDES = \
|
|
||||||
-I$(top_srcdir)/common
|
|
||||||
|
|
||||||
noinst_LTLIBRARIES = libazbox.la
|
noinst_LTLIBRARIES = libazbox.la
|
||||||
|
|
||||||
|
AM_CPPFLAGS = \
|
||||||
|
-I$(top_srcdir)/common
|
||||||
|
|
||||||
AM_CXXFLAGS = -fno-rtti -fno-exceptions -fno-strict-aliasing
|
AM_CXXFLAGS = -fno-rtti -fno-exceptions -fno-strict-aliasing
|
||||||
AM_LDFLAGS = -lpthread
|
AM_LDFLAGS = -lpthread
|
||||||
|
|
||||||
|
@@ -43,10 +43,10 @@ extern cVideo *videoDecoder;
|
|||||||
|
|
||||||
#define dmx_err(_errfmt, _errstr, _revents) do { \
|
#define dmx_err(_errfmt, _errstr, _revents) do { \
|
||||||
uint16_t _pid = (uint16_t)-1; uint16_t _f = 0;\
|
uint16_t _pid = (uint16_t)-1; uint16_t _f = 0;\
|
||||||
if (dmx_type == DMX_PES_CHANNEL) { \
|
if (dmx_type == DMX_PSI_CHANNEL) { \
|
||||||
_pid = p_flt.pid; \
|
|
||||||
} else if (dmx_type == DMX_PSI_CHANNEL) { \
|
|
||||||
_pid = s_flt.pid; _f = s_flt.filter.filter[0]; \
|
_pid = s_flt.pid; _f = s_flt.filter.filter[0]; \
|
||||||
|
} else { \
|
||||||
|
_pid = p_flt.pid; \
|
||||||
}; \
|
}; \
|
||||||
lt_info("%s " _errfmt " fd:%d, ev:0x%x %s pid:0x%04hx flt:0x%02hx\n", \
|
lt_info("%s " _errfmt " fd:%d, ev:0x%x %s pid:0x%04hx flt:0x%02hx\n", \
|
||||||
__func__, _errstr, fd, _revents, DMX_T[dmx_type], _pid, _f); \
|
__func__, _errstr, fd, _revents, DMX_T[dmx_type], _pid, _f); \
|
||||||
|
@@ -336,7 +336,7 @@ bool cPlayback::SetAPid(unsigned short pid, int /*ac3*/)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cPlayback::SetSPid(int pid)
|
bool cPlayback::SelectSubtitles(int pid)
|
||||||
{
|
{
|
||||||
lt_info("%s: pid %i\n", __func__, pid);
|
lt_info("%s: pid %i\n", __func__, pid);
|
||||||
if (pid != subpid)
|
if (pid != subpid)
|
||||||
@@ -464,7 +464,7 @@ void cPlayback::FindAllPids(uint16_t *apids, unsigned short *ac3flags, uint16_t
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void cPlayback::FindAllSPids(int *spids, uint16_t *numpids, std::string *language)
|
void cPlayback::FindAllSubs(uint16_t *spids, unsigned short *supported, uint16_t *numpids, std::string *language)
|
||||||
{
|
{
|
||||||
lt_info("%s\n", __func__);
|
lt_info("%s\n", __func__);
|
||||||
char buf[32];
|
char buf[32];
|
||||||
@@ -487,6 +487,7 @@ void cPlayback::FindAllSPids(int *spids, uint16_t *numpids, std::string *languag
|
|||||||
spu_lang[20] = '\0';
|
spu_lang[20] = '\0';
|
||||||
spids[sid] = atoi(streamidstring);
|
spids[sid] = atoi(streamidstring);
|
||||||
language[sid] = spu_lang;
|
language[sid] = spu_lang;
|
||||||
|
supported[sid] = 1;
|
||||||
lt_info("%s: #%d apid:%d lang: %s\n", __func__, sid, spids[sid], spu_lang);
|
lt_info("%s: #%d apid:%d lang: %s\n", __func__, sid, spids[sid], spu_lang);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -496,6 +497,13 @@ void cPlayback::FindAllSPids(int *spids, uint16_t *numpids, std::string *languag
|
|||||||
language[spu_count] = "Disable";
|
language[spu_count] = "Disable";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* DVD support is not yet ready... */
|
||||||
|
void cPlayback::GetChapters(std::vector<int> &positions, std::vector<std::string> &titles)
|
||||||
|
{
|
||||||
|
positions.clear();
|
||||||
|
titles.clear();
|
||||||
|
}
|
||||||
|
|
||||||
cPlayback::cPlayback(int /*num*/)
|
cPlayback::cPlayback(int /*num*/)
|
||||||
{
|
{
|
||||||
lt_info("%s: constructor\n", __func__);
|
lt_info("%s: constructor\n", __func__);
|
||||||
|
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
PLAYMODE_TS = 0,
|
PLAYMODE_TS = 0,
|
||||||
@@ -42,9 +43,9 @@ class cPlayback
|
|||||||
bool GetPosition(int &position, int &duration); /* pos: current time in ms, dur: file length in ms */
|
bool GetPosition(int &position, int &duration); /* pos: current time in ms, dur: file length in ms */
|
||||||
bool SetPosition(int position, bool absolute = false); /* position: jump in ms */
|
bool SetPosition(int position, bool absolute = false); /* position: jump in ms */
|
||||||
void FindAllPids(uint16_t *apids, unsigned short *ac3flags, uint16_t *numpida, std::string *language);
|
void FindAllPids(uint16_t *apids, unsigned short *ac3flags, uint16_t *numpida, std::string *language);
|
||||||
// AZbox specific
|
void FindAllSubs(uint16_t *pids, unsigned short *supported, uint16_t *numpida, std::string *language);
|
||||||
void FindAllSPids(int *spids, uint16_t *numpids, std::string *language);
|
bool SelectSubtitles(int pid);
|
||||||
bool SetSPid(int pid);
|
void GetChapters(std::vector<int> &positions, std::vector<std::string> &titles);
|
||||||
#if 0
|
#if 0
|
||||||
// Functions that are not used by movieplayer.cpp:
|
// Functions that are not used by movieplayer.cpp:
|
||||||
bool Stop(void);
|
bool Stop(void);
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
AC_INIT(libstb-hal,0.1.1)
|
AC_INIT([libstb-hal], [0.1.1])
|
||||||
AM_INIT_AUTOMAKE(libstb-hal,0.1.1)
|
AM_INIT_AUTOMAKE
|
||||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
AC_GNU_SOURCE
|
AC_GNU_SOURCE
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
INCLUDES = \
|
|
||||||
-I$(top_srcdir)/common
|
|
||||||
|
|
||||||
noinst_LTLIBRARIES = libgeneric.la
|
noinst_LTLIBRARIES = libgeneric.la
|
||||||
|
|
||||||
AM_CPPFLAGS = -D__STDC_FORMAT_MACROS -D__STDC_CONSTANT_MACROS
|
AM_CPPFLAGS = -D__STDC_FORMAT_MACROS -D__STDC_CONSTANT_MACROS
|
||||||
|
AM_CPPFLAGS += \
|
||||||
|
-I$(top_srcdir)/common
|
||||||
|
|
||||||
AM_CXXFLAGS = -fno-rtti -fno-exceptions -fno-strict-aliasing
|
AM_CXXFLAGS = -fno-rtti -fno-exceptions -fno-strict-aliasing
|
||||||
|
|
||||||
AM_LDFLAGS = \
|
AM_LDFLAGS = \
|
||||||
|
@@ -35,16 +35,20 @@
|
|||||||
#include "dmx_lib.h"
|
#include "dmx_lib.h"
|
||||||
#include "lt_debug.h"
|
#include "lt_debug.h"
|
||||||
|
|
||||||
|
/* needed for getSTC :-( */
|
||||||
|
#include "video_lib.h"
|
||||||
|
extern cVideo *videoDecoder;
|
||||||
|
|
||||||
#define lt_debug(args...) _lt_debug(TRIPLE_DEBUG_DEMUX, this, args)
|
#define lt_debug(args...) _lt_debug(TRIPLE_DEBUG_DEMUX, this, args)
|
||||||
#define lt_info(args...) _lt_info(TRIPLE_DEBUG_DEMUX, this, args)
|
#define lt_info(args...) _lt_info(TRIPLE_DEBUG_DEMUX, this, args)
|
||||||
#define lt_info_c(args...) _lt_info(TRIPLE_DEBUG_DEMUX, NULL, args)
|
#define lt_info_c(args...) _lt_info(TRIPLE_DEBUG_DEMUX, NULL, args)
|
||||||
|
|
||||||
#define dmx_err(_errfmt, _errstr, _revents) do { \
|
#define dmx_err(_errfmt, _errstr, _revents) do { \
|
||||||
uint16_t _pid = (uint16_t)-1; uint16_t _f = 0;\
|
uint16_t _pid = (uint16_t)-1; uint16_t _f = 0;\
|
||||||
if (dmx_type == DMX_PES_CHANNEL) { \
|
if (dmx_type == DMX_PSI_CHANNEL) { \
|
||||||
_pid = p_flt.pid; \
|
|
||||||
} else if (dmx_type == DMX_PSI_CHANNEL) { \
|
|
||||||
_pid = s_flt.pid; _f = s_flt.filter.filter[0]; \
|
_pid = s_flt.pid; _f = s_flt.filter.filter[0]; \
|
||||||
|
} else { \
|
||||||
|
_pid = p_flt.pid; \
|
||||||
}; \
|
}; \
|
||||||
lt_info("%s " _errfmt " fd:%d, ev:0x%x %s pid:0x%04hx flt:0x%02hx\n", \
|
lt_info("%s " _errfmt " fd:%d, ev:0x%x %s pid:0x%04hx flt:0x%02hx\n", \
|
||||||
__func__, _errstr, fd, _revents, DMX_T[dmx_type], _pid, _f); \
|
__func__, _errstr, fd, _revents, DMX_T[dmx_type], _pid, _f); \
|
||||||
@@ -120,7 +124,9 @@ bool cDemux::Open(DMX_CHANNEL_TYPE pes_type, void * /*hVideoBuffer*/, int uBuffe
|
|||||||
num, DMX_T[pes_type], pes_type, uBufferSize, fd);
|
num, DMX_T[pes_type], pes_type, uBufferSize, fd);
|
||||||
|
|
||||||
if (dmx_type == DMX_VIDEO_CHANNEL)
|
if (dmx_type == DMX_VIDEO_CHANNEL)
|
||||||
uBufferSize = 0x40000;
|
uBufferSize = 0x100000; /* 1MB */
|
||||||
|
if (dmx_type == DMX_AUDIO_CHANNEL)
|
||||||
|
uBufferSize = 0x10000; /* 64k */
|
||||||
#if 0
|
#if 0
|
||||||
if (!pesfds.empty())
|
if (!pesfds.empty())
|
||||||
{
|
{
|
||||||
@@ -472,6 +478,8 @@ void cDemux::removePid(unsigned short Pid)
|
|||||||
void cDemux::getSTC(int64_t * STC)
|
void cDemux::getSTC(int64_t * STC)
|
||||||
{
|
{
|
||||||
int64_t pts = 0;
|
int64_t pts = 0;
|
||||||
|
if (videoDecoder)
|
||||||
|
pts = videoDecoder->GetPTS();
|
||||||
*STC = pts;
|
*STC = pts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -26,6 +26,12 @@ bool cPlayback::SetAPid(unsigned short pid, bool /*ac3*/)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool cPlayback::SelectSubtitles(int pid)
|
||||||
|
{
|
||||||
|
printf("%s:%s pid %i\n", FILENAME, __func__, pid);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool cPlayback::SetSpeed(int speed)
|
bool cPlayback::SetSpeed(int speed)
|
||||||
{
|
{
|
||||||
printf("%s:%s playing %d speed %d\n", FILENAME, __func__, playing, speed);
|
printf("%s:%s playing %d speed %d\n", FILENAME, __func__, playing, speed);
|
||||||
@@ -99,6 +105,18 @@ unsigned short cPlayback::GetTeletextPid(void)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cPlayback::FindAllSubs(uint16_t *, unsigned short *, uint16_t *numpida, std::string *)
|
||||||
|
{
|
||||||
|
printf("%s:%s\n", FILENAME, __func__);
|
||||||
|
*numpida = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void cPlayback::GetChapters(std::vector<int> &positions, std::vector<std::string> &titles)
|
||||||
|
{
|
||||||
|
positions.clear();
|
||||||
|
titles.clear();
|
||||||
|
}
|
||||||
|
|
||||||
cPlayback::cPlayback(int /*num*/)
|
cPlayback::cPlayback(int /*num*/)
|
||||||
{
|
{
|
||||||
printf("%s:%s\n", FILENAME, __func__);
|
printf("%s:%s\n", FILENAME, __func__);
|
||||||
|
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
PLAYMODE_TS = 0,
|
PLAYMODE_TS = 0,
|
||||||
@@ -43,6 +44,9 @@ class cPlayback
|
|||||||
void FindAllTeletextsubtitlePids(uint16_t *pids, uint16_t *numpidt, std::string *tlanguage);
|
void FindAllTeletextsubtitlePids(uint16_t *pids, uint16_t *numpidt, std::string *tlanguage);
|
||||||
|
|
||||||
void RequestAbort(void);
|
void RequestAbort(void);
|
||||||
|
void FindAllSubs(uint16_t *pids, unsigned short *supported, uint16_t *numpida, std::string *language);
|
||||||
|
bool SelectSubtitles(int pid);
|
||||||
|
void GetChapters(std::vector<int> &positions, std::vector<std::string> &titles);
|
||||||
//
|
//
|
||||||
cPlayback(int num = 0);
|
cPlayback(int num = 0);
|
||||||
~cPlayback();
|
~cPlayback();
|
||||||
|
@@ -650,3 +650,13 @@ bool cVideo::GetScreenImage(unsigned char * &data, int &xres, int &yres, bool ge
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int64_t cVideo::GetPTS(void)
|
||||||
|
{
|
||||||
|
int64_t pts = 0;
|
||||||
|
buf_m.lock();
|
||||||
|
if (buf_num != 0)
|
||||||
|
pts = buffers[buf_out].pts();
|
||||||
|
buf_m.unlock();
|
||||||
|
return pts;
|
||||||
|
}
|
||||||
|
@@ -122,6 +122,7 @@ typedef enum
|
|||||||
class cVideo : public OpenThreads::Thread
|
class cVideo : public OpenThreads::Thread
|
||||||
{
|
{
|
||||||
friend class GLFramebuffer;
|
friend class GLFramebuffer;
|
||||||
|
friend class cDemux;
|
||||||
private:
|
private:
|
||||||
/* called from GL thread */
|
/* called from GL thread */
|
||||||
class SWFramebuffer : public std::vector<unsigned char>
|
class SWFramebuffer : public std::vector<unsigned char>
|
||||||
@@ -143,6 +144,7 @@ class cVideo : public OpenThreads::Thread
|
|||||||
AVRational mAR;
|
AVRational mAR;
|
||||||
};
|
};
|
||||||
int buf_in, buf_out, buf_num;
|
int buf_in, buf_out, buf_num;
|
||||||
|
int64_t GetPTS(void);
|
||||||
public:
|
public:
|
||||||
/* constructor & destructor */
|
/* constructor & destructor */
|
||||||
cVideo(int mode, void *, void *);
|
cVideo(int mode, void *, void *);
|
||||||
|
@@ -2,7 +2,7 @@ noinst_LTLIBRARIES = libeplayer3.la
|
|||||||
|
|
||||||
CXXFLAGS = -Wall
|
CXXFLAGS = -Wall
|
||||||
|
|
||||||
INCLUDES = \
|
AM_CPPFLAGS = \
|
||||||
-I$(srcdir)/include
|
-I$(srcdir)/include
|
||||||
|
|
||||||
libeplayer3_la_SOURCES = \
|
libeplayer3_la_SOURCES = \
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
INCLUDES = \
|
noinst_LTLIBRARIES = libspark.la
|
||||||
|
|
||||||
|
AM_CPPFLAGS = \
|
||||||
-I$(top_srcdir)/common \
|
-I$(top_srcdir)/common \
|
||||||
-I$(top_srcdir)/libeplayer3/include
|
-I$(top_srcdir)/libeplayer3/include
|
||||||
|
|
||||||
noinst_LTLIBRARIES = libspark.la
|
|
||||||
|
|
||||||
AM_CXXFLAGS = -fno-rtti -fno-exceptions -fno-strict-aliasing
|
AM_CXXFLAGS = -fno-rtti -fno-exceptions -fno-strict-aliasing
|
||||||
AM_LDFLAGS = -lpthread -lasound -lass \
|
AM_LDFLAGS = -lpthread -lasound -lass \
|
||||||
@AVFORMAT_LIBS@ \
|
@AVFORMAT_LIBS@ \
|
||||||
|
@@ -78,10 +78,10 @@ extern cVideo *videoDecoder;
|
|||||||
|
|
||||||
#define dmx_err(_errfmt, _errstr, _revents) do { \
|
#define dmx_err(_errfmt, _errstr, _revents) do { \
|
||||||
uint16_t _pid = (uint16_t)-1; uint16_t _f = 0;\
|
uint16_t _pid = (uint16_t)-1; uint16_t _f = 0;\
|
||||||
if (dmx_type == DMX_PES_CHANNEL) { \
|
if (dmx_type == DMX_PSI_CHANNEL) { \
|
||||||
_pid = p_flt.pid; \
|
|
||||||
} else if (dmx_type == DMX_PSI_CHANNEL) { \
|
|
||||||
_pid = s_flt.pid; _f = s_flt.filter.filter[0]; \
|
_pid = s_flt.pid; _f = s_flt.filter.filter[0]; \
|
||||||
|
} else { \
|
||||||
|
_pid = p_flt.pid; \
|
||||||
}; \
|
}; \
|
||||||
lt_info("%s " _errfmt " fd:%d, ev:0x%x %s pid:0x%04hx flt:0x%02hx\n", \
|
lt_info("%s " _errfmt " fd:%d, ev:0x%x %s pid:0x%04hx flt:0x%02hx\n", \
|
||||||
__func__, _errstr, fd, _revents, DMX_T[dmx_type], _pid, _f); \
|
__func__, _errstr, fd, _revents, DMX_T[dmx_type], _pid, _f); \
|
||||||
|
@@ -667,6 +667,26 @@ unsigned short cPlayback::GetTeletextPid(void)
|
|||||||
return (unsigned short)pid;
|
return (unsigned short)pid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* dummy functions for subtitles */
|
||||||
|
void cPlayback::FindAllSubs(uint16_t * /*pids*/, unsigned short * /*supp*/, uint16_t *num, std::string * /*lang*/)
|
||||||
|
{
|
||||||
|
*num = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool cPlayback::SelectSubtitles(int pid)
|
||||||
|
{
|
||||||
|
printf("%s:%s pid %d\n", FILENAME, __func__, pid);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* another dummy function for DVD playback(?) */
|
||||||
|
void cPlayback::GetChapters(std::vector<int> &positions, std::vector<std::string> &titles)
|
||||||
|
{
|
||||||
|
positions.clear();
|
||||||
|
titles.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
cPlayback::cPlayback(int num __attribute__((unused)), void (*fbcb)(unsigned char **, unsigned int *, unsigned int *, unsigned int *, int *))
|
cPlayback::cPlayback(int num __attribute__((unused)), void (*fbcb)(unsigned char **, unsigned int *, unsigned int *, unsigned int *, int *))
|
||||||
{
|
{
|
||||||
printf("%s:%s\n", FILENAME, __FUNCTION__);
|
printf("%s:%s\n", FILENAME, __FUNCTION__);
|
||||||
|
@@ -2,6 +2,7 @@
|
|||||||
#define __HAL_PLAYBACK_H
|
#define __HAL_PLAYBACK_H
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
PLAYMODE_TS = 0,
|
PLAYMODE_TS = 0,
|
||||||
@@ -45,8 +46,10 @@ class cPlayback
|
|||||||
void FindAllSubtitlePids(uint16_t *pids, uint16_t *numpids, std::string *language);
|
void FindAllSubtitlePids(uint16_t *pids, uint16_t *numpids, std::string *language);
|
||||||
void FindAllDvbsubtitlePids(uint16_t *pids, uint16_t *numpids, std::string *language);
|
void FindAllDvbsubtitlePids(uint16_t *pids, uint16_t *numpids, std::string *language);
|
||||||
void FindAllTeletextsubtitlePids(uint16_t *pids, uint16_t *numpidt, std::string *tlanguage);
|
void FindAllTeletextsubtitlePids(uint16_t *pids, uint16_t *numpidt, std::string *tlanguage);
|
||||||
|
|
||||||
void RequestAbort(void);
|
void RequestAbort(void);
|
||||||
|
void FindAllSubs(uint16_t *pids, unsigned short *supported, uint16_t *numpida, std::string *language);
|
||||||
|
bool SelectSubtitles(int pid);
|
||||||
|
void GetChapters(std::vector<int> &positions, std::vector<std::string> &titles);
|
||||||
#if 0
|
#if 0
|
||||||
// Functions that are not used by movieplayer.cpp:
|
// Functions that are not used by movieplayer.cpp:
|
||||||
bool GetOffset(off64_t &offset);
|
bool GetOffset(off64_t &offset);
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
INCLUDES = \
|
noinst_LTLIBRARIES = libtriple.la
|
||||||
|
|
||||||
|
AM_CPPFLAGS = \
|
||||||
-I$(top_srcdir)/common \
|
-I$(top_srcdir)/common \
|
||||||
@DIRECTFB_CFLAGS@
|
@DIRECTFB_CFLAGS@
|
||||||
|
|
||||||
noinst_LTLIBRARIES = libtriple.la
|
|
||||||
|
|
||||||
AM_CXXFLAGS = -fno-rtti -fno-exceptions -fno-strict-aliasing
|
AM_CXXFLAGS = -fno-rtti -fno-exceptions -fno-strict-aliasing
|
||||||
AM_LDFLAGS = \
|
AM_LDFLAGS = \
|
||||||
@DIRECTFB_LIBS@
|
@DIRECTFB_LIBS@
|
||||||
|
@@ -40,10 +40,10 @@ extern cVideo *videoDecoder;
|
|||||||
|
|
||||||
#define dmx_err(_errfmt, _errstr, _revents) do { \
|
#define dmx_err(_errfmt, _errstr, _revents) do { \
|
||||||
uint16_t _pid = (uint16_t)-1; uint16_t _f = 0;\
|
uint16_t _pid = (uint16_t)-1; uint16_t _f = 0;\
|
||||||
if (dmx_type == DMX_PES_CHANNEL) { \
|
if (dmx_type == DMX_PSI_CHANNEL) { \
|
||||||
_pid = p_flt.pid; \
|
|
||||||
} else if (dmx_type == DMX_PSI_CHANNEL) { \
|
|
||||||
_pid = s_flt.pid; _f = s_flt.filter[0]; \
|
_pid = s_flt.pid; _f = s_flt.filter[0]; \
|
||||||
|
} else { \
|
||||||
|
_pid = p_flt.pid; \
|
||||||
}; \
|
}; \
|
||||||
lt_info("%s " _errfmt " fd:%d, ev:0x%x %s pid:0x%04hx flt:0x%02hx\n", \
|
lt_info("%s " _errfmt " fd:%d, ev:0x%x %s pid:0x%04hx flt:0x%02hx\n", \
|
||||||
__func__, _errstr, fd, _revents, DMX_T[dmx_type], _pid, _f); \
|
__func__, _errstr, fd, _revents, DMX_T[dmx_type], _pid, _f); \
|
||||||
|
@@ -576,6 +576,24 @@ void cPlayback::FindAllPids(uint16_t *apids, unsigned short *ac3flags, uint16_t
|
|||||||
*numpida = i;
|
*numpida = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* it is unlikely that subtitle support will be implemented soon */
|
||||||
|
void cPlayback::FindAllSubs(uint16_t *, unsigned short *, uint16_t *num, std::string *)
|
||||||
|
{
|
||||||
|
*num = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool cPlayback::SelectSubtitles(int)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* DVD support is also unlikely... */
|
||||||
|
void cPlayback::GetChapters(std::vector<int> &positions, std::vector<std::string> &titles)
|
||||||
|
{
|
||||||
|
positions.clear();
|
||||||
|
titles.clear();
|
||||||
|
}
|
||||||
|
|
||||||
off_t cPlayback::seek_to_pts(int64_t pts)
|
off_t cPlayback::seek_to_pts(int64_t pts)
|
||||||
{
|
{
|
||||||
off_t newpos = curr_pos;
|
off_t newpos = curr_pos;
|
||||||
|
@@ -109,6 +109,9 @@ class cPlayback
|
|||||||
bool GetPosition(int &position, int &duration); /* pos: current time in ms, dur: file length in ms */
|
bool GetPosition(int &position, int &duration); /* pos: current time in ms, dur: file length in ms */
|
||||||
bool SetPosition(int position, bool absolute = false); /* position: jump in ms */
|
bool SetPosition(int position, bool absolute = false); /* position: jump in ms */
|
||||||
void FindAllPids(uint16_t *apids, unsigned short *ac3flags, uint16_t *numpida, std::string *language);
|
void FindAllPids(uint16_t *apids, unsigned short *ac3flags, uint16_t *numpida, std::string *language);
|
||||||
|
void FindAllSubs(uint16_t *pids, unsigned short *supported, uint16_t *numpida, std::string *language);
|
||||||
|
bool SelectSubtitles(int pid);
|
||||||
|
void GetChapters(std::vector<int> &positions, std::vector<std::string> &titles);
|
||||||
#if 0
|
#if 0
|
||||||
// Functions that are not used by movieplayer.cpp:
|
// Functions that are not used by movieplayer.cpp:
|
||||||
bool Stop(void);
|
bool Stop(void);
|
||||||
|
Reference in New Issue
Block a user