diff --git a/libgeneric-pc/audio.cpp b/libgeneric-pc/audio.cpp
index 15ea346..e90848f 100644
--- a/libgeneric-pc/audio.cpp
+++ b/libgeneric-pc/audio.cpp
@@ -61,11 +61,11 @@ static AVCodecParameters *p = NULL;
#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(58, 133, 100)
static void get_packet_defaults(AVPacket *pkt)
{
- memset(pkt, 0, sizeof(*pkt));
+ memset(pkt, 0, sizeof(*pkt));
- pkt->pts = AV_NOPTS_VALUE;
- pkt->dts = AV_NOPTS_VALUE;
- pkt->pos = -1;
+ pkt->pts = AV_NOPTS_VALUE;
+ pkt->dts = AV_NOPTS_VALUE;
+ pkt->pos = -1;
}
#endif
@@ -160,8 +160,7 @@ int cAudio::PrepareClipPlay(int ch, int srate, int bits, int le)
hal_debug("%s ch %d srate %d bits %d le %d adevice %p\n", __func__, ch, srate, bits, le, adevice);;
int driver;
int byte_format = le ? AO_FMT_LITTLE : AO_FMT_BIG;
- if (sformat.bits != bits || sformat.channels != ch || sformat.rate != srate ||
- sformat.byte_format != byte_format || adevice == NULL)
+ if (sformat.bits != bits || sformat.channels != ch || sformat.rate != srate || sformat.byte_format != byte_format || adevice == NULL)
{
driver = ao_default_driver_id();
sformat.bits = bits;
@@ -173,10 +172,8 @@ int cAudio::PrepareClipPlay(int ch, int srate, int bits, int le)
ao_close(adevice);
adevice = ao_open_live(driver, &sformat, NULL);
ao_info *ai = ao_driver_info(driver);
- hal_info("%s: changed params ch %d srate %d bits %d le %d adevice %p\n",
- __func__, ch, srate, bits, le, adevice);;
- hal_info("libao driver: %d name '%s' short '%s' author '%s'\n",
- driver, ai->name, ai->short_name, ai->author);
+ hal_info("%s: changed params ch %d srate %d bits %d le %d adevice %p\n", __func__, ch, srate, bits, le, adevice);;
+ hal_info("libao driver: %d name '%s' short '%s' author '%s'\n", driver, ai->name, ai->short_name, ai->author);
}
return 0;
};
@@ -213,10 +210,10 @@ int cAudio::StopClip()
void cAudio::getAudioInfo(int &type, int &layer, int &freq, int &bitrate, int &mode)
{
type = 0;
- layer = 0; /* not used */
+ layer = 0; /* not used */
freq = 0;
- bitrate = 0; /* not used, but easy to get :-) */
- mode = 0; /* default: stereo */
+ bitrate = 0; /* not used, but easy to get :-) */
+ mode = 0; /* default: stereo */
printf("cAudio::getAudioInfo c %p\n", c);
if (c)
{
@@ -256,37 +253,35 @@ void cAudio::getAudioInfo(int &type, int &layer, int &freq, int &bitrate, int &m
switch (c->channel_layout)
{
case AV_CH_LAYOUT_MONO:
- mode = 1; // "C"
+ mode = 1; // "C"
break;
case AV_CH_LAYOUT_STEREO:
- mode = 2; // "L/R"
+ mode = 2; // "L/R"
break;
case AV_CH_LAYOUT_2_1:
case AV_CH_LAYOUT_SURROUND:
- mode = 3; // "L/C/R"
+ mode = 3; // "L/C/R"
break;
case AV_CH_LAYOUT_2POINT1:
- mode = 4; // "L/R/S"
+ mode = 4; // "L/R/S"
break;
case AV_CH_LAYOUT_3POINT1:
- mode = 5; // "L/C/R/S"
+ mode = 5; // "L/C/R/S"
break;
case AV_CH_LAYOUT_2_2:
case AV_CH_LAYOUT_QUAD:
- mode = 6; // "L/R/SL/SR"
+ mode = 6; // "L/R/SL/SR"
break;
case AV_CH_LAYOUT_5POINT0:
case AV_CH_LAYOUT_5POINT1:
- mode = 7; // "L/C/R/SL/SR"
+ mode = 7; // "L/C/R/SL/SR"
break;
default:
- hal_info("%s: unknown ch_layout 0x%" PRIx64 "\n",
- __func__, c->channel_layout);
+ hal_info("%s: unknown ch_layout 0x%" PRIx64 "\n", __func__, c->channel_layout);
}
}
}
- hal_debug("%s t: %d l: %d f: %d b: %d m: %d codec_id: %x\n",
- __func__, type, layer, freq, bitrate, mode, c ? c->codec_id : -1);
+ hal_debug("%s t: %d l: %d f: %d b: %d m: %d codec_id: %x\n", __func__, type, layer, freq, bitrate, mode, c ? c->codec_id : -1);
};
void cAudio::SetSRS(int /*iq_enable*/, int /*nmgr_enable*/, int /*iq_mode*/, int /*iq_level*/)
@@ -329,7 +324,7 @@ int cAudio::my_read(uint8_t *buf, int buf_size)
int tmp = 0;
if (audioDecoder && bufpos < DMX_BUF_SZ - 4096)
{
- while (bufpos < buf_size && ++tmp < 20) /* retry max 20 times */
+ while (bufpos < buf_size && ++tmp < 20) /* retry max 20 times */
{
int ret = audioDemux->Read(dmxbuf + bufpos, DMX_BUF_SZ - bufpos, 10);
if (ret > 0)
@@ -396,11 +391,11 @@ void cAudio::run()
#endif
inp = av_find_input_format("mpegts");
AVIOContext *pIOCtx = avio_alloc_context(inbuf, INBUF_SIZE, // internal Buffer and its size
- 0, // bWriteable (1=true,0=false)
- NULL, // user data; will be passed to our callback functions
- _my_read, // read callback
- NULL, // write callback
- NULL); // seek callback
+ 0, // bWriteable (1=true,0=false)
+ NULL, // user data; will be passed to our callback functions
+ _my_read, // read callback
+ NULL, // write callback
+ NULL); // seek callback
avfc = avformat_alloc_context();
avfc->pb = pIOCtx;
avfc->iformat = inp;
@@ -450,11 +445,10 @@ void cAudio::run()
goto out2;
}
/* output sample rate, channels, layout could be set here if necessary */
- o_ch = p->channels; /* 2 */
- o_sr = p->sample_rate; /* 48000 */
- o_layout = p->channel_layout; /* AV_CH_LAYOUT_STEREO */
- if (sformat.channels != o_ch || sformat.rate != o_sr ||
- sformat.byte_format != AO_FMT_NATIVE || sformat.bits != 16 || adevice == NULL)
+ o_ch = p->channels; /* 2 */
+ o_sr = p->sample_rate; /* 48000 */
+ o_layout = p->channel_layout; /* AV_CH_LAYOUT_STEREO */
+ if (sformat.channels != o_ch || sformat.rate != o_sr || sformat.byte_format != AO_FMT_NATIVE || sformat.bits != 16 || adevice == NULL)
{
driver = ao_default_driver_id();
sformat.bits = 16;
@@ -466,11 +460,9 @@ void cAudio::run()
ao_close(adevice);
adevice = ao_open_live(driver, &sformat, NULL);
ai = ao_driver_info(driver);
- hal_info("%s: changed params ch %d srate %d bits %d adevice %p\n",
- __func__, o_ch, o_sr, 16, adevice);
+ hal_info("%s: changed params ch %d srate %d bits %d adevice %p\n", __func__, o_ch, o_sr, 16, adevice);
if (ai)
- hal_info("libao driver: %d name '%s' short '%s' author '%s'\n",
- driver, ai->name, ai->short_name, ai->author);
+ hal_info("libao driver: %d name '%s' short '%s' author '%s'\n", driver, ai->name, ai->short_name, ai->author);
}
#if 0
hal_info(" driver options:");
@@ -479,12 +471,11 @@ void cAudio::run()
fprintf(stderr, "\n");
#endif
av_get_sample_fmt_string(tmp, sizeof(tmp), c->sample_fmt);
- hal_info("decoding %s, sample_fmt %d (%s) sample_rate %d channels %d\n",
- avcodec_get_name(p->codec_id), c->sample_fmt, tmp, p->sample_rate, p->channels);
+ hal_info("decoding %s, sample_fmt %d (%s) sample_rate %d channels %d\n", avcodec_get_name(p->codec_id), c->sample_fmt, tmp, p->sample_rate, p->channels);
swr = swr_alloc_set_opts(swr,
- o_layout, AV_SAMPLE_FMT_S16, o_sr, /* output */
- p->channel_layout, c->sample_fmt, p->sample_rate, /* input */
- 0, NULL);
+ o_layout, AV_SAMPLE_FMT_S16, o_sr, /* output */
+ p->channel_layout, c->sample_fmt, p->sample_rate, /* input */
+ 0, NULL);
if (! swr)
{
hal_info("could not alloc resample context\n");
@@ -526,8 +517,7 @@ void cAudio::run()
{
hal_info("obuf_sz: %d old: %d\n", obuf_sz, obuf_sz_max);
av_free(obuf);
- if (av_samples_alloc(&obuf, &out_linesize, o_ch,
- frame->nb_samples, AV_SAMPLE_FMT_S16, 1) < 0)
+ if (av_samples_alloc(&obuf, &out_linesize, o_ch, frame->nb_samples, AV_SAMPLE_FMT_S16, 1) < 0)
{
hal_info("av_samples_alloc failed\n");
av_packet_unref(&avpkt);
@@ -535,8 +525,7 @@ void cAudio::run()
}
obuf_sz_max = obuf_sz;
}
- obuf_sz = swr_convert(swr, &obuf, obuf_sz,
- (const uint8_t **)frame->extended_data, frame->nb_samples);
+ obuf_sz = swr_convert(swr, &obuf, obuf_sz, (const uint8_t **)frame->extended_data, frame->nb_samples);
#if (LIBAVUTIL_VERSION_MAJOR < 54)
curr_pts = av_frame_get_best_effort_timestamp(frame);
#else
diff --git a/libgeneric-pc/audio_lib.h b/libgeneric-pc/audio_lib.h
index b2eed02..6beb0f0 100644
--- a/libgeneric-pc/audio_lib.h
+++ b/libgeneric-pc/audio_lib.h
@@ -42,16 +42,17 @@ typedef enum
class cAudio : public OpenThreads::Thread
{
friend class cPlayback;
+
private:
int fd;
bool Muted;
int clipfd; /* for pcm playback */
- int mixer_fd; /* if we are using the OSS mixer */
+ int mixer_fd; /* if we are using the OSS mixer */
int mixer_num; /* oss mixer to use, if any */
int StreamType;
- AUDIO_SYNC_MODE SyncMode;
+ AUDIO_SYNC_MODE SyncMode;
bool started;
bool thread_started;
@@ -69,51 +70,27 @@ class cAudio : public OpenThreads::Thread
/* construct & destruct */
cAudio(void *, void *, void *);
~cAudio(void);
- int64_t getPts()
- {
- return curr_pts;
- }
+ int64_t getPts() { return curr_pts; }
- void *GetHandle()
- {
- return NULL;
- };
+ void *GetHandle() { return NULL; };
- void setAVInput(int /*val*/)
- {
- return;
- };
+ void setAVInput(int /*val*/) { return; };
/* shut up */
- int mute(bool remember = true)
- {
- return do_mute(true, remember);
- };
- int unmute(bool remember = true)
- {
- return do_mute(false, remember);
- };
+ int mute(bool remember = true) { return do_mute(true, remember); };
+ int unmute(bool remember = true) { return do_mute(false, remember); };
/* volume, min = 0, max = 255 */
int setVolume(unsigned int left, unsigned int right);
- int getVolume(void)
- {
- return volume;
- }
- bool getMuteStatus(void)
- {
- return Muted;
- };
+ int getVolume(void) { return volume; }
+ bool getMuteStatus(void) { return Muted; };
/* start and stop audio */
int Start(void);
int Stop(void);
bool Pause(bool Pcm = true);
void SetStreamType(int bypass);
- int GetStreamType(void)
- {
- return StreamType;
- }
+ int GetStreamType(void) { return StreamType; }
void SetSyncMode(AVSYNC_TYPE Mode);
/* select channels */
diff --git a/libgeneric-pc/clutterfb.cpp b/libgeneric-pc/clutterfb.cpp
index f1bb790..e32b851 100644
--- a/libgeneric-pc/clutterfb.cpp
+++ b/libgeneric-pc/clutterfb.cpp
@@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see .
- TODO: AV-Sync code is "experimental" at best
+ TODO: AV-Sync code is "experimental" at best
*/
#include "config.h"
@@ -85,14 +85,14 @@ void GLFramebuffer::blit()
GLFbPC::GLFbPC(int x, int y, std::vector &buf): mReInit(true), mShutDown(false), mInitDone(false)
{
osd_buf = &buf;
- mState.width = x;
+ mState.width = x;
mState.height = y;
mX = &_mX[0];
mY = &_mY[0];
*mX = x;
*mY = y;
av_reduce(&mOA.num, &mOA.den, x, y, INT_MAX);
- mVA = mOA; /* initial aspect ratios are from the FB resolution, those */
+ mVA = mOA; /* initial aspect ratios are from the FB resolution, those */
_mVA = mVA; /* will be updated by the videoDecoder functions anyway */
mVAchanged = true;
mCrop = DISPLAY_AR_MODE_PANSCAN;
@@ -142,10 +142,10 @@ void GLFbPC::initKeys()
mKeyMap[CLUTTER_KEY_Left] = KEY_LEFT;
mKeyMap[CLUTTER_KEY_Right] = KEY_RIGHT;
- mKeyMap[CLUTTER_KEY_F1] = KEY_RED;
- mKeyMap[CLUTTER_KEY_F2] = KEY_GREEN;
- mKeyMap[CLUTTER_KEY_F3] = KEY_YELLOW;
- mKeyMap[CLUTTER_KEY_F4] = KEY_BLUE;
+ mKeyMap[CLUTTER_KEY_F1] = KEY_RED;
+ mKeyMap[CLUTTER_KEY_F2] = KEY_GREEN;
+ mKeyMap[CLUTTER_KEY_F3] = KEY_YELLOW;
+ mKeyMap[CLUTTER_KEY_F4] = KEY_BLUE;
mKeyMap[CLUTTER_KEY_F5] = KEY_RECORD;
mKeyMap[CLUTTER_KEY_F6] = KEY_PLAY;
@@ -163,40 +163,40 @@ void GLFbPC::initKeys()
mKeyMap[CLUTTER_KEY_Return] = KEY_OK;
mKeyMap[CLUTTER_KEY_Escape] = KEY_EXIT;
- mKeyMap['0'] = KEY_0;
- mKeyMap['1'] = KEY_1;
- mKeyMap['2'] = KEY_2;
- mKeyMap['3'] = KEY_3;
- mKeyMap['4'] = KEY_4;
- mKeyMap['5'] = KEY_5;
- mKeyMap['6'] = KEY_6;
- mKeyMap['7'] = KEY_7;
- mKeyMap['8'] = KEY_8;
- mKeyMap['9'] = KEY_9;
+ mKeyMap['0'] = KEY_0;
+ mKeyMap['1'] = KEY_1;
+ mKeyMap['2'] = KEY_2;
+ mKeyMap['3'] = KEY_3;
+ mKeyMap['4'] = KEY_4;
+ mKeyMap['5'] = KEY_5;
+ mKeyMap['6'] = KEY_6;
+ mKeyMap['7'] = KEY_7;
+ mKeyMap['8'] = KEY_8;
+ mKeyMap['9'] = KEY_9;
- mKeyMap['+'] = KEY_VOLUMEUP;
- mKeyMap['-'] = KEY_VOLUMEDOWN;
- mKeyMap['.'] = KEY_MUTE;
- mKeyMap['a'] = KEY_AUDIO;
- mKeyMap['e'] = KEY_EPG;
- // ['f'] is reserved to toggle fullscreen;
- mKeyMap['g'] = KEY_GAMES;
- mKeyMap['h'] = KEY_HELP;
- mKeyMap['i'] = KEY_INFO;
- mKeyMap['m'] = KEY_MENU;
- mKeyMap['p'] = KEY_POWER;
- mKeyMap['r'] = KEY_RADIO;
- mKeyMap['s'] = KEY_SUBTITLE;
- mKeyMap['t'] = KEY_TV;
- mKeyMap['v'] = KEY_VIDEO;
- mKeyMap['z'] = KEY_SLEEP;
+ mKeyMap['+'] = KEY_VOLUMEUP;
+ mKeyMap['-'] = KEY_VOLUMEDOWN;
+ mKeyMap['.'] = KEY_MUTE;
+ mKeyMap['a'] = KEY_AUDIO;
+ mKeyMap['e'] = KEY_EPG;
+ // ['f'] is reserved to toggle fullscreen;
+ mKeyMap['g'] = KEY_GAMES;
+ mKeyMap['h'] = KEY_HELP;
+ mKeyMap['i'] = KEY_INFO;
+ mKeyMap['m'] = KEY_MENU;
+ mKeyMap['p'] = KEY_POWER;
+ mKeyMap['r'] = KEY_RADIO;
+ mKeyMap['s'] = KEY_SUBTITLE;
+ mKeyMap['t'] = KEY_TV;
+ mKeyMap['v'] = KEY_VIDEO;
+ mKeyMap['z'] = KEY_SLEEP;
/* shift keys */
- mKeyMap['F'] = KEY_FAVORITES;
- mKeyMap['M'] = KEY_MODE;
- mKeyMap['S'] = KEY_SAT;
- mKeyMap['T'] = KEY_TEXT;
- mKeyMap['W'] = KEY_WWW;
+ mKeyMap['F'] = KEY_FAVORITES;
+ mKeyMap['M'] = KEY_MODE;
+ mKeyMap['S'] = KEY_SAT;
+ mKeyMap['T'] = KEY_TEXT;
+ mKeyMap['W'] = KEY_WWW;
}
static ClutterActor *stage = NULL;
@@ -311,9 +311,9 @@ void GLFramebuffer::run()
std::map::const_iterator i = glfb_priv->mKeyMap.find(key);
if (i == glfb_priv->mKeyMap.end())
return true;
- ev.code = i->second;
+ ev.code = i->second;
ev.value = keystate; /* key own */
- ev.type = EV_KEY;
+ ev.type = EV_KEY;
gettimeofday(&ev.time, NULL);
hal_debug_c("GLFB::%s: pushing 0x%x\n", __func__, ev.code);
ssize_t w = write(glfb_priv->input_fd, &ev, sizeof(ev));
@@ -353,8 +353,7 @@ void GLFbPC::render()
// *mX = *mY * mOA.num / mOA.den;
clutter_actor_set_size(stage, *mX, *mY);
}
- hal_info("%s: reinit mX:%d mY:%d xoff:%d yoff:%d fs %d\n",
- __func__, *mX, *mY, xoff, yoff, mFullscreen);
+ hal_info("%s: reinit mX:%d mY:%d xoff:%d yoff:%d fs %d\n", __func__, *mX, *mY, xoff, yoff, mFullscreen);
}
mReInitLock.unlock();
@@ -378,11 +377,11 @@ void GLFbPC::render()
switch (cmp)
{
default:
- case INT_MIN: /* invalid */
- case 0: /* identical */
+ case INT_MIN: /* invalid */
+ case 0: /* identical */
hal_debug("%s: mVA == mOA (or fullscreen mode :-)\n", __func__);
break;
- case 1: /* mVA > mOA -- video is wider than display */
+ case 1: /* mVA > mOA -- video is wider than display */
hal_debug("%s: mVA > mOA\n", __func__);
switch (mCrop)
{
@@ -402,7 +401,7 @@ void GLFbPC::render()
break;
}
break;
- case -1: /* mVA < mOA -- video is taller than display */
+ case -1: /* mVA < mOA -- video is taller than display */
hal_debug("%s: mVA < mOA\n", __func__);
switch (mCrop)
{
@@ -518,5 +517,5 @@ void GLFbPC::bltDisplayBuffer()
sleep_us = 1;
}
hal_debug("vpts: 0x%" PRIx64 " apts: 0x%" PRIx64 " diff: %6.3f sleep_us %d buf %d\n",
- buf->pts(), apts, (buf->pts() - apts) / 90000.0, sleep_us, videoDecoder->buf_num);
+ buf->pts(), apts, (buf->pts() - apts) / 90000.0, sleep_us, videoDecoder->buf_num);
}
diff --git a/libgeneric-pc/dmx.cpp b/libgeneric-pc/dmx.cpp
index 5927fbb..806dd7e 100644
--- a/libgeneric-pc/dmx.cpp
+++ b/libgeneric-pc/dmx.cpp
@@ -45,7 +45,7 @@ extern cVideo *videoDecoder;
#define dmx_err(_errfmt, _errstr, _revents) do { \
hal_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, flt); \
+ __func__, _errstr, fd, _revents, DMX_T[dmx_type], pid, flt); \
} while(0);
cDemux *videoDemux = NULL;
@@ -113,13 +113,13 @@ bool cDemux::Open(DMX_CHANNEL_TYPE pes_type, void * /*hVideoBuffer*/, int uBuffe
hal_info("%s %s: %m\n", __FUNCTION__, devname[devnum]);
return false;
}
- hal_debug("%s #%d pes_type: %s(%d), uBufferSize: %d fd: %d\n", __func__,
- num, DMX_T[pes_type], pes_type, uBufferSize, fd);
+ hal_debug("%s #%d pes_type: %s(%d), uBufferSize: %d fd: %d\n",
+ __func__, num, DMX_T[pes_type], pes_type, uBufferSize, fd);
if (dmx_type == DMX_VIDEO_CHANNEL)
- uBufferSize = 0x100000; /* 1MB */
+ uBufferSize = 0x100000; /* 1MB */
if (dmx_type == DMX_AUDIO_CHANNEL)
- uBufferSize = 0x10000; /* 64k */
+ uBufferSize = 0x10000; /* 64k */
#if 0
if (!pesfds.empty())
{
@@ -193,7 +193,7 @@ int cDemux::Read(unsigned char *buff, int len, int timeout)
#if 0
if (len != 4095 && timeout != 100)
fprintf(stderr, "cDemux::%s #%d fd: %d type: %s len: %d timeout: %d\n",
- __FUNCTION__, num, fd, DMX_T[dmx_type], len, timeout);
+ __FUNCTION__, num, fd, DMX_T[dmx_type], len, timeout);
#endif
int rc;
struct pollfd ufds;
@@ -253,8 +253,8 @@ retry:
}
bool cDemux::sectionFilter(unsigned short _pid, const unsigned char *const filter,
- const unsigned char *const mask, int len, int timeout,
- const unsigned char *const negmask)
+ const unsigned char *const mask, int len, int timeout,
+ const unsigned char *const negmask)
{
struct dmx_sct_filter_params s_flt;
memset(&s_flt, 0, sizeof(s_flt));
@@ -269,7 +269,7 @@ bool cDemux::sectionFilter(unsigned short _pid, const unsigned char *const filte
s_flt.timeout = timeout;
flt = filter[0];
memcpy(s_flt.filter.filter, filter, len);
- memcpy(s_flt.filter.mask, mask, len);
+ memcpy(s_flt.filter.mask, mask, len);
if (negmask != NULL)
memcpy(s_flt.filter.mode, negmask, len);
@@ -319,7 +319,7 @@ bool cDemux::sectionFilter(unsigned short _pid, const unsigned char *const filte
/* 0x60 - 0x6F: event_information_section - other_transport_stream, schedule */
case 0x70: /* time_date_section */
s_flt.flags &= ~DMX_CHECK_CRC; /* section has no CRC */
- //s_flt.pid = 0x0014;
+ //s_flt.pid = 0x0014;
to = 30000;
break;
case 0x71: /* running_status_section */
@@ -331,7 +331,7 @@ bool cDemux::sectionFilter(unsigned short _pid, const unsigned char *const filte
to = 0;
break;
case 0x73: /* time_offset_section */
- //s_flt.pid = 0x0014;
+ //s_flt.pid = 0x0014;
to = 30000;
break;
case 0x74: /* application_information_section */
@@ -359,8 +359,8 @@ bool cDemux::sectionFilter(unsigned short _pid, const unsigned char *const filte
if (timeout == 0 && negmask == NULL)
s_flt.timeout = to;
- hal_debug("%s #%d pid:0x%04hx fd:%d type:%s len:%d to:%d flags:%x flt[0]:%02x\n", __func__, num,
- pid, fd, DMX_T[dmx_type], len, s_flt.timeout, s_flt.flags, s_flt.filter.filter[0]);
+ hal_debug("%s #%d pid:0x%04hx fd:%d type:%s len:%d to:%d flags:%x flt[0]:%02x\n",
+ __func__, num, pid, fd, DMX_T[dmx_type], len, s_flt.timeout, s_flt.flags, s_flt.filter.filter[0]);
if (debuglevel == 2)
{
@@ -368,10 +368,10 @@ bool cDemux::sectionFilter(unsigned short _pid, const unsigned char *const filte
for (int i = 0; i < DMX_FILTER_SIZE; i++)fprintf(stderr, "%02hhx ", s_flt.filter.filter[i]);
fprintf(stderr, "\n");
fprintf(stderr, "mask: ");
- for (int i = 0; i < DMX_FILTER_SIZE; i++)fprintf(stderr, "%02hhx ", s_flt.filter.mask [i]);
+ for (int i = 0; i < DMX_FILTER_SIZE; i++)fprintf(stderr, "%02hhx ", s_flt.filter.mask[i]);
fprintf(stderr, "\n");
fprintf(stderr, "mode: ");
- for (int i = 0; i < DMX_FILTER_SIZE; i++)fprintf(stderr, "%02hhx ", s_flt.filter.mode [i]);
+ for (int i = 0; i < DMX_FILTER_SIZE; i++)fprintf(stderr, "%02hhx ", s_flt.filter.mode[i]);
fprintf(stderr, "\n");
}
@@ -391,7 +391,7 @@ bool cDemux::pesFilter(const unsigned short _pid)
* this check originally is from tuxbox cvs but I'm not sure
* what it is good for...
if (pid <= 0x0001 && dmx_type != DMX_PCR_ONLY_CHANNEL)
- return false;
+ return false;
*/
if ((pid >= 0x0002 && pid <= 0x000f) || pid >= 0x1fff)
return false;
@@ -401,7 +401,7 @@ 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.input = DMX_IN_FRONTEND;
switch (dmx_type)
{
@@ -412,23 +412,23 @@ bool cDemux::pesFilter(const unsigned short _pid)
break;
case DMX_AUDIO_CHANNEL:
p_flt.pes_type = DMX_PES_OTHER;
- p_flt.output = DMX_OUT_TSDEMUX_TAP;
- if (HAL_nodec) /* no need to demux if we don't decode... */
+ p_flt.output = DMX_OUT_TSDEMUX_TAP;
+ if (HAL_nodec) /* no need to demux if we don't decode... */
return true;
break;
case DMX_VIDEO_CHANNEL:
p_flt.pes_type = DMX_PES_OTHER;
- p_flt.output = DMX_OUT_TSDEMUX_TAP;
+ p_flt.output = DMX_OUT_TSDEMUX_TAP;
if (HAL_nodec)
return true;
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;
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;
default:
hal_info("%s #%d invalid dmx_type %d!\n", __func__, num, dmx_type);
diff --git a/libgeneric-pc/glfb.cpp b/libgeneric-pc/glfb.cpp
index 74e3e80..7fe1a8b 100644
--- a/libgeneric-pc/glfb.cpp
+++ b/libgeneric-pc/glfb.cpp
@@ -19,7 +19,7 @@
based on Carjay's neutrino-hd-dvbapi work, see
http://gitorious.org/neutrino-hd/neutrino-hd-dvbapi
- TODO: AV-Sync code is "experimental" at best
+ TODO: AV-Sync code is "experimental" at best
*/
#include "config.h"
@@ -83,14 +83,14 @@ void GLFramebuffer::blit()
GLFbPC::GLFbPC(int x, int y, std::vector &buf): mReInit(true), mShutDown(false), mInitDone(false)
{
osd_buf = &buf;
- mState.width = x;
+ mState.width = x;
mState.height = y;
mX = &_mX[0];
mY = &_mY[0];
*mX = x;
*mY = y;
av_reduce(&mOA.num, &mOA.den, x, y, INT_MAX);
- mVA = mOA; /* initial aspect ratios are from the FB resolution, those */
+ mVA = mOA; /* initial aspect ratios are from the FB resolution, those */
_mVA = mVA; /* will be updated by the videoDecoder functions anyway */
mVAchanged = true;
mCrop = DISPLAY_AR_MODE_PANSCAN;
@@ -165,40 +165,40 @@ void GLFbPC::initKeys()
mKeyMap[0x0d] = KEY_OK;
mKeyMap[0x1b] = KEY_EXIT;
- mKeyMap['0'] = KEY_0;
- mKeyMap['1'] = KEY_1;
- mKeyMap['2'] = KEY_2;
- mKeyMap['3'] = KEY_3;
- mKeyMap['4'] = KEY_4;
- mKeyMap['5'] = KEY_5;
- mKeyMap['6'] = KEY_6;
- mKeyMap['7'] = KEY_7;
- mKeyMap['8'] = KEY_8;
- mKeyMap['9'] = KEY_9;
+ mKeyMap['0'] = KEY_0;
+ mKeyMap['1'] = KEY_1;
+ mKeyMap['2'] = KEY_2;
+ mKeyMap['3'] = KEY_3;
+ mKeyMap['4'] = KEY_4;
+ mKeyMap['5'] = KEY_5;
+ mKeyMap['6'] = KEY_6;
+ mKeyMap['7'] = KEY_7;
+ mKeyMap['8'] = KEY_8;
+ mKeyMap['9'] = KEY_9;
- mKeyMap['+'] = KEY_VOLUMEUP;
- mKeyMap['-'] = KEY_VOLUMEDOWN;
- mKeyMap['.'] = KEY_MUTE;
- mKeyMap['a'] = KEY_AUDIO;
- mKeyMap['e'] = KEY_EPG;
- // ['f'] is reserved to toggle fullscreen;
- mKeyMap['g'] = KEY_GAMES;
- mKeyMap['h'] = KEY_HELP;
- mKeyMap['i'] = KEY_INFO;
- mKeyMap['m'] = KEY_MENU;
- mKeyMap['p'] = KEY_POWER;
- mKeyMap['r'] = KEY_RADIO;
- mKeyMap['s'] = KEY_SUBTITLE;
- mKeyMap['t'] = KEY_TV;
- mKeyMap['v'] = KEY_VIDEO;
- mKeyMap['z'] = KEY_SLEEP;
+ mKeyMap['+'] = KEY_VOLUMEUP;
+ mKeyMap['-'] = KEY_VOLUMEDOWN;
+ mKeyMap['.'] = KEY_MUTE;
+ mKeyMap['a'] = KEY_AUDIO;
+ mKeyMap['e'] = KEY_EPG;
+ // ['f'] is reserved to toggle fullscreen;
+ mKeyMap['g'] = KEY_GAMES;
+ mKeyMap['h'] = KEY_HELP;
+ mKeyMap['i'] = KEY_INFO;
+ mKeyMap['m'] = KEY_MENU;
+ mKeyMap['p'] = KEY_POWER;
+ mKeyMap['r'] = KEY_RADIO;
+ mKeyMap['s'] = KEY_SUBTITLE;
+ mKeyMap['t'] = KEY_TV;
+ mKeyMap['v'] = KEY_VIDEO;
+ mKeyMap['z'] = KEY_SLEEP;
/* shift keys */
- mKeyMap['F'] = KEY_FAVORITES;
- mKeyMap['M'] = KEY_MODE;
- mKeyMap['S'] = KEY_SAT;
- mKeyMap['T'] = KEY_TEXT;
- mKeyMap['W'] = KEY_WWW;
+ mKeyMap['F'] = KEY_FAVORITES;
+ mKeyMap['M'] = KEY_MODE;
+ mKeyMap['S'] = KEY_SAT;
+ mKeyMap['T'] = KEY_TEXT;
+ mKeyMap['W'] = KEY_WWW;
}
void GLFramebuffer::run()
@@ -226,7 +226,7 @@ void GLFramebuffer::run()
if ((!GLEW_VERSION_1_5) || (!GLEW_EXT_pixel_buffer_object) || (!GLEW_ARB_texture_non_power_of_two))
{
hal_info("GLFB: Sorry, your graphics card is not supported. "
- "Needs at least OpenGL 1.5, pixel buffer objects and NPOT textures.\n");
+ "Needs at least OpenGL 1.5, pixel buffer objects and NPOT textures.\n");
hal_info("incompatible graphics card: %m");
_exit(1); /* Life is hard */
}
@@ -334,9 +334,9 @@ void GLFbPC::releaseGLObjects()
std::map::const_iterator i = glfb_priv->mKeyMap.find(key);
if (i == glfb_priv->mKeyMap.end())
return;
- ev.code = i->second;
+ ev.code = i->second;
ev.value = 1; /* key own */
- ev.type = EV_KEY;
+ ev.type = EV_KEY;
gettimeofday(&ev.time, NULL);
hal_debug_c("GLFB::%s: pushing 0x%x\n", __func__, ev.code);
write(glfb_priv->input_fd, &ev, sizeof(ev));
@@ -351,9 +351,9 @@ void GLFbPC::releaseGLObjects()
std::map::const_iterator i = glfb_priv->mSpecialMap.find(key);
if (i == glfb_priv->mSpecialMap.end())
return;
- ev.code = i->second;
+ ev.code = i->second;
ev.value = 1;
- ev.type = EV_KEY;
+ ev.type = EV_KEY;
gettimeofday(&ev.time, NULL);
hal_debug_c("GLFB::%s: pushing 0x%x\n", __func__, ev.code);
write(glfb_priv->input_fd, &ev, sizeof(ev));
@@ -394,8 +394,7 @@ void GLFbPC::render()
}
else
*mX = *mY * mOA.num / mOA.den;
- hal_info("%s: reinit mX:%d mY:%d xoff:%d yoff:%d fs %d\n",
- __func__, *mX, *mY, xoff, yoff, mFullscreen);
+ hal_info("%s: reinit mX:%d mY:%d xoff:%d yoff:%d fs %d\n", __func__, *mX, *mY, xoff, yoff, mFullscreen);
glViewport(xoff, yoff, *mX, *mY);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
@@ -438,11 +437,11 @@ void GLFbPC::render()
switch (cmp)
{
default:
- case INT_MIN: /* invalid */
- case 0: /* identical */
+ case INT_MIN: /* invalid */
+ case 0: /* identical */
hal_debug("%s: mVA == mOA (or fullscreen mode :-)\n", __func__);
break;
- case 1: /* mVA > mOA -- video is wider than display */
+ case 1: /* mVA > mOA -- video is wider than display */
hal_debug("%s: mVA > mOA\n", __func__);
xscale = av_q2d(mVA) / av_q2d(mOA);
switch (mCrop)
@@ -459,7 +458,7 @@ void GLFbPC::render()
break;
}
break;
- case -1: /* mVA < mOA -- video is taller than display */
+ case -1: /* mVA < mOA -- video is taller than display */
hal_debug("%s: mVA < mOA\n", __func__);
xscale = av_q2d(mVA) / av_q2d(mOA);
switch (mCrop)
@@ -531,10 +530,10 @@ void GLFbPC::drawSquare(float size, float x_factor)
{
GLfloat vertices[] =
{
- 1.0f, 1.0f,
+ 1.0f, 1.0f,
-1.0f, 1.0f,
-1.0f, -1.0f,
- 1.0f, -1.0f,
+ 1.0f, -1.0f,
};
GLubyte indices[] = { 0, 1, 2, 3 };
@@ -546,11 +545,11 @@ void GLFbPC::drawSquare(float size, float x_factor)
0.0, 1.0,
1.0, 1.0,
};
- if (x_factor > -99.0) /* x_factor == -100 => OSD */
+ if (x_factor > -99.0) /* x_factor == -100 => OSD */
{
if (videoDecoder &&
- videoDecoder->pig_x > 0 && videoDecoder->pig_y > 0 &&
- videoDecoder->pig_w > 0 && videoDecoder->pig_h > 0)
+ videoDecoder->pig_x > 0 && videoDecoder->pig_y > 0 &&
+ videoDecoder->pig_w > 0 && videoDecoder->pig_h > 0)
{
/* these calculations even consider cropping and panscan mode
* maybe this could be done with some clever opengl tricks? */
@@ -562,14 +561,14 @@ void GLFbPC::drawSquare(float size, float x_factor)
double h = (double)videoDecoder->pig_h / h2;
x += ((1.0l - x_factor * size) / 2.0l) * w / x_factor / size;
y += ((size - 1.0l) / 2.0l) * h / size;
- vertices[0] = x + w; /* top right x */
- vertices[1] = y; /* top right y */
- vertices[2] = x; /* top left x */
- vertices[3] = y; /* top left y */
- vertices[4] = x; /* bottom left x */
- vertices[5] = y - h; /* bottom left y */
- vertices[6] = vertices[0]; /* bottom right x */
- vertices[7] = vertices[5]; /* bottom right y */
+ vertices[0] = x + w; /* top right x */
+ vertices[1] = y; /* top right y */
+ vertices[2] = x; /* top left x */
+ vertices[3] = y; /* top left y */
+ vertices[4] = x; /* bottom left x */
+ vertices[5] = y - h; /* bottom left y */
+ vertices[6] = vertices[0]; /* bottom right x */
+ vertices[7] = vertices[5]; /* bottom right y */
}
}
else
@@ -590,7 +589,7 @@ void GLFbPC::drawSquare(float size, float x_factor)
void GLFbPC::bltOSDBuffer()
{
- /* FIXME: copy each time */
+ /* FIXME: copy each time */
glBindBuffer(GL_PIXEL_UNPACK_BUFFER, mState.pbo);
glBufferData(GL_PIXEL_UNPACK_BUFFER, osd_buf->size(), osd_buf->data(), GL_STREAM_DRAW_ARB);
@@ -662,5 +661,5 @@ void GLFbPC::bltDisplayBuffer()
sleep_us = 1;
}
hal_debug("vpts: 0x%" PRIx64 " apts: 0x%" PRIx64 " diff: %6.3f sleep_us %d buf %d\n",
- buf->pts(), apts, (buf->pts() - apts) / 90000.0, sleep_us, videoDecoder->buf_num);
+ buf->pts(), apts, (buf->pts() - apts) / 90000.0, sleep_us, videoDecoder->buf_num);
}
diff --git a/libgeneric-pc/glfb_priv.h b/libgeneric-pc/glfb_priv.h
index db21609..af49f26 100644
--- a/libgeneric-pc/glfb_priv.h
+++ b/libgeneric-pc/glfb_priv.h
@@ -46,7 +46,7 @@ class GLFbPC
~GLFbPC();
std::vector *getOSDBuffer()
{
- return osd_buf; /* pointer to OSD bounce buffer */
+ return osd_buf; /* pointer to OSD bounce buffer */
}
int getOSDWidth()
{
@@ -77,23 +77,23 @@ class GLFbPC
fb_var_screeninfo si;
int *mX;
int *mY;
- int _mX[2]; /* output window size */
- int _mY[2]; /* [0] = normal, [1] = fullscreen */
- AVRational mOA; /* output window aspect ratio */
- AVRational mVA; /* video aspect ratio */
- AVRational _mVA; /* for detecting changes in mVA */
+ int _mX[2]; /* output window size */
+ int _mY[2]; /* [0] = normal, [1] = fullscreen */
+ AVRational mOA; /* output window aspect ratio */
+ AVRational mVA; /* video aspect ratio */
+ AVRational _mVA; /* for detecting changes in mVA */
bool mVAchanged;
- float zoom; /* for cropping */
- float xscale; /* and aspect ratio */
- int mCrop; /* DISPLAY_AR_MODE */
+ float zoom; /* for cropping */
+ float xscale; /* and aspect ratio */
+ int mCrop; /* DISPLAY_AR_MODE */
- bool mFullscreen; /* fullscreen? */
- bool mReInit; /* setup things for GL */
+ bool mFullscreen; /* fullscreen? */
+ bool mReInit; /* setup things for GL */
OpenThreads::Mutex mReInitLock;
- bool mShutDown; /* if set main loop is left */
- bool mInitDone; /* condition predicate */
- // OpenThreads::Condition mInitCond; /* condition variable for init */
- // mutable OpenThreads::Mutex mMutex; /* lock our data */
+ bool mShutDown; /* if set main loop is left */
+ bool mInitDone; /* condition predicate */
+ // OpenThreads::Condition mInitCond; /* condition variable for init */
+ // mutable OpenThreads::Mutex mMutex; /* lock our data */
std::vector *osd_buf; /* silly bounce buffer */
@@ -108,36 +108,36 @@ class GLFbPC
int64_t last_apts;
void run();
- static void rendercb(); /* callback for GLUT */
- void render(); /* actual render function */
+ static void rendercb(); /* callback for GLUT */
+ void render(); /* actual render function */
#if USE_OPENGL
static void keyboardcb(unsigned char key, int x, int y);
static void specialcb(int key, int x, int y);
static void resizecb(int w, int h);
void checkReinit(int w, int h); /* e.g. in case window was resized */
- void setupGLObjects(); /* PBOs, textures and stuff */
+ void setupGLObjects(); /* PBOs, textures and stuff */
void releaseGLObjects();
- void drawSquare(float size, float x_factor = 1); /* do not be square */
+ void drawSquare(float size, float x_factor = 1); /* do not be square */
#endif
#if USE_CLUTTER
static bool keyboardcb(ClutterActor *actor, ClutterEvent *event, gpointer user_data);
#endif
- void initKeys(); /* setup key bindings for window */
+ void initKeys(); /* setup key bindings for window */
#if 0
- void setupCtx(); /* create the window and make the context current */
- void setupOSDBuffer(); /* create the OSD buffer */
+ void setupCtx(); /* create the window and make the context current */
+ void setupOSDBuffer(); /* create the OSD buffer */
#endif
struct
{
- int width; /* width and height, fixed for a framebuffer instance */
+ int width; /* width and height, fixed for a framebuffer instance */
int height;
bool blit;
#if USE_OPENGL
- GLuint osdtex; /* holds the OSD texture */
- GLuint pbo; /* PBO we use for transfer to texture */
- GLuint displaytex; /* holds the display texture */
+ GLuint osdtex; /* holds the OSD texture */
+ GLuint pbo; /* PBO we use for transfer to texture */
+ GLuint displaytex; /* holds the display texture */
GLuint displaypbo;
#endif
} mState;
diff --git a/libgeneric-pc/hardware_caps.c b/libgeneric-pc/hardware_caps.c
index 5b5afa3..775459e 100644
--- a/libgeneric-pc/hardware_caps.c
+++ b/libgeneric-pc/hardware_caps.c
@@ -31,7 +31,7 @@ hw_caps_t *get_hwcaps(void)
caps.can_pip = 1;
caps.can_cpufreq = 0;
- caps.can_shutdown = 1; /* for testing */
+ caps.can_shutdown = 1; /* for testing */
caps.display_type = HW_DISPLAY_LINE_TEXT;
caps.has_HDMI = 1;
caps.display_xres = 8;
diff --git a/libgeneric-pc/playback.cpp b/libgeneric-pc/playback.cpp
index 9932b1c..60a10bf 100644
--- a/libgeneric-pc/playback.cpp
+++ b/libgeneric-pc/playback.cpp
@@ -21,7 +21,7 @@ bool cPlayback::Start(std::string filename, std::string headers)
bool cPlayback::Start(char *filename, int vpid, int vtype, int apid, int ac3, int duration, std::string /*headers*/)
{
printf("%s:%s - filename=%s vpid=%u vtype=%d apid=%u ac3=%d duration=%i\n",
- FILENAME, __func__, filename, vpid, vtype, apid, ac3, duration);
+ FILENAME, __func__, filename, vpid, vtype, apid, ac3, duration);
return true;
}
diff --git a/libgeneric-pc/playback_gst.h b/libgeneric-pc/playback_gst.h
index 1195017..0456375 100644
--- a/libgeneric-pc/playback_gst.h
+++ b/libgeneric-pc/playback_gst.h
@@ -81,18 +81,12 @@ class cPlayback
int GetSubtitlePid(void);
bool SetPosition(int position, bool absolute = false);
void FindAllPids(int *apids, unsigned int *ac3flags, unsigned int *numpida, std::string *language);
- void FindAllPids(uint16_t *apids, unsigned short *ac3flags, uint16_t *numpida, std::string *language)
- {
- FindAllPids((int *) apids, (unsigned int *) ac3flags, (unsigned int *) numpida, language);
- };
+ void FindAllPids(uint16_t *apids, unsigned short *ac3flags, uint16_t *numpida, std::string *language) { FindAllPids((int *) apids, (unsigned int *) ac3flags, (unsigned int *) numpida, language); };
void FindAllSubtitlePids(int *pids, unsigned int *numpids, std::string *language);
void FindAllTeletextsubtitlePids(int *pids, unsigned int *numpidt, std::string *tlanguage, int *mags, int *pages);
void RequestAbort(void);
void FindAllSubs(int *pids, unsigned int *supported, unsigned int *numpida, std::string *language);
- void FindAllSubs(uint16_t *pids, unsigned short *supported, uint16_t *numpida, std::string *language)
- {
- FindAllSubs((int *) pids, (unsigned int *) supported, (unsigned int *) numpida, language);
- };
+ void FindAllSubs(uint16_t *pids, unsigned short *supported, uint16_t *numpida, std::string *language) { FindAllSubs((int *) pids, (unsigned int *) supported, (unsigned int *) numpida, language); };
bool SelectSubtitles(int pid, std::string charset = "");
void GetTitles(std::vector &playlists, std::vector &titles, int ¤t);
void SetTitle(int title);
diff --git a/libgeneric-pc/playback_gst_01.cpp b/libgeneric-pc/playback_gst_01.cpp
index 897838d..e9c5fde 100644
--- a/libgeneric-pc/playback_gst_01.cpp
+++ b/libgeneric-pc/playback_gst_01.cpp
@@ -110,14 +110,14 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
if (err->code == GST_STREAM_ERROR_CODEC_NOT_FOUND)
{
if (g_strrstr(sourceName, "videosink"))
- hal_info_c("%s:%s - GST_MESSAGE_ERROR: videosink\n", FILENAME, __FUNCTION__); //FIXME: how shall playback handle this event???
+ hal_info_c("%s:%s - GST_MESSAGE_ERROR: videosink\n", FILENAME, __FUNCTION__); // FIXME: how shall playback handle this event???
else if (g_strrstr(sourceName, "audiosink"))
- hal_info_c("%s:%s - GST_MESSAGE_ERROR: audioSink\n", FILENAME, __FUNCTION__); //FIXME: how shall playback handle this event???
+ hal_info_c("%s:%s - GST_MESSAGE_ERROR: audioSink\n", FILENAME, __FUNCTION__); // FIXME: how shall playback handle this event???
}
}
g_error_free(err);
- end_eof = 1; // NOTE: just to exit
+ end_eof = 1; // NOTE: just to exit
break;
}
@@ -132,7 +132,7 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
if (inf->domain == GST_STREAM_ERROR && inf->code == GST_STREAM_ERROR_DECODE)
{
if (g_strrstr(sourceName, "videosink"))
- hal_info_c("%s:%s - GST_MESSAGE_INFO: videosink\n", FILENAME, __FUNCTION__); //FIXME: how shall playback handle this event???
+ hal_info_c("%s:%s - GST_MESSAGE_INFO: videosink\n", FILENAME, __FUNCTION__); // FIXME: how shall playback handle this event???
}
g_error_free(inf);
break;
@@ -166,7 +166,7 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
//FIXME: how shall playback handle this event???
}
gst_tag_list_free(tags);
- hal_info_c("%s:%s - GST_MESSAGE_INFO: update info tags\n", FILENAME, __FUNCTION__); //FIXME: how shall playback handle this event???
+ hal_info_c("%s:%s - GST_MESSAGE_INFO: update info tags\n", FILENAME, __FUNCTION__); // FIXME: how shall playback handle this event???
break;
}
@@ -188,7 +188,8 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
{
case GST_STATE_CHANGE_NULL_TO_READY:
{
- } break;
+ }
+ break;
case GST_STATE_CHANGE_READY_TO_PAUSED:
{
GstIterator *children;
@@ -212,10 +213,12 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
break;
case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
{
- } break;
+ }
+ break;
case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
{
- } break;
+ }
+ break;
case GST_STATE_CHANGE_PAUSED_TO_READY:
{
if (audioSink)
@@ -232,7 +235,8 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
break;
case GST_STATE_CHANGE_READY_TO_NULL:
{
- } break;
+ }
+ break;
}
break;
}
@@ -279,8 +283,7 @@ cPlayback::cPlayback(int num)
nano_str = "";
hal_info("%s:%s - This program is linked against GStreamer %d.%d.%d %s\n",
- FILENAME, __FUNCTION__,
- major, minor, micro, nano_str);
+ FILENAME, __FUNCTION__, major, minor, micro, nano_str);
mAudioStream = 0;
mSpeed = 0;
@@ -621,7 +624,7 @@ bool cPlayback::GetPosition(int &position, int &duration)
unsigned long long int sec = 0;
gst_element_query_position(m_gst_playbin, &fmt, &pts);
- position = pts / 1000000.0;
+ position = pts / 1000000.0;
// duration
GstFormat fmt_d = GST_FORMAT_TIME; //Returns time in nanosecs
@@ -709,17 +712,17 @@ void cPlayback::FindAllPids(int *apids, unsigned int *ac3flags, unsigned int *nu
switch (mpegversion)
{
case 1:
- /*
- {
- gst_structure_get_int (structure, "layer", &layer);
- if ( layer == 3 )
- return atMP3;
- else
- return atMPEG;
- ac3flags[0] = 4;
- break;
- }
- */
+ /*
+ {
+ gst_structure_get_int (structure, "layer", &layer);
+ if ( layer == 3 )
+ return atMP3;
+ else
+ return atMPEG;
+ ac3flags[0] = 4;
+ break;
+ }
+ */
ac3flags[i] = 4;
case 2:
//return atAAC;
diff --git a/libgeneric-pc/playback_gst_10.cpp b/libgeneric-pc/playback_gst_10.cpp
index a1a0a60..b6e60a1 100644
--- a/libgeneric-pc/playback_gst_10.cpp
+++ b/libgeneric-pc/playback_gst_10.cpp
@@ -225,16 +225,16 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
if (err->code == GST_STREAM_ERROR_CODEC_NOT_FOUND)
{
if (g_strrstr(sourceName, "videosink"))
- hal_info_c("%s:%s - GST_MESSAGE_ERROR: videosink\n", FILENAME, __FUNCTION__); //FIXME: how shall playback handle this event???
+ hal_info_c("%s:%s - GST_MESSAGE_ERROR: videosink\n", FILENAME, __FUNCTION__); // FIXME: how shall playback handle this event???
else if (g_strrstr(sourceName, "audiosink"))
- hal_info_c("%s:%s - GST_MESSAGE_ERROR: audioSink\n", FILENAME, __FUNCTION__); //FIXME: how shall playback handle this event???
+ hal_info_c("%s:%s - GST_MESSAGE_ERROR: audioSink\n", FILENAME, __FUNCTION__); // FIXME: how shall playback handle this event???
}
}
g_error_free(err);
if (sourceName)
g_free(sourceName);
- end_eof = 1; // NOTE: just to exit
+ end_eof = 1; // NOTE: just to exit
break;
}
@@ -250,7 +250,7 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
{
gchar *sourceName = gst_object_get_name(source);
if (g_strrstr(sourceName, "videosink"))
- hal_info_c("%s:%s - GST_MESSAGE_INFO: videosink\n", FILENAME, __FUNCTION__); //FIXME: how shall playback handle this event???
+ hal_info_c("%s:%s - GST_MESSAGE_INFO: videosink\n", FILENAME, __FUNCTION__); // FIXME: how shall playback handle this event???
if (sourceName)
g_free(sourceName);
@@ -314,7 +314,7 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
}
if (tags)
gst_tag_list_unref(tags);
- hal_debug_c("%s:%s - GST_MESSAGE_INFO: update info tags\n", FILENAME, __FUNCTION__); //FIXME: how shall playback handle this event???
+ hal_debug_c("%s:%s - GST_MESSAGE_INFO: update info tags\n", FILENAME, __FUNCTION__); // FIXME: how shall playback handle this event???
break;
}
case GST_MESSAGE_ELEMENT:
@@ -357,7 +357,8 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
{
case GST_STATE_CHANGE_NULL_TO_READY:
{
- } break;
+ }
+ break;
case GST_STATE_CHANGE_READY_TO_PAUSED:
{
GstIterator *children;
@@ -396,10 +397,12 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
break;
case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
{
- } break;
+ }
+ break;
case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
{
- } break;
+ }
+ break;
case GST_STATE_CHANGE_PAUSED_TO_READY:
{
if (audioSink)
@@ -416,7 +419,8 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
break;
case GST_STATE_CHANGE_READY_TO_NULL:
{
- } break;
+ }
+ break;
}
break;
}
@@ -453,8 +457,7 @@ cPlayback::cPlayback(int num)
nano_str = "";
hal_info("%s:%s - This program is linked against GStreamer %d.%d.%d %s\n",
- FILENAME, __FUNCTION__,
- major, minor, micro, nano_str);
+ FILENAME, __FUNCTION__, major, minor, micro, nano_str);
mAudioStream = 0;
mSpeed = 0;
@@ -599,7 +602,7 @@ bool cPlayback::Start(char *filename, int /*vpid*/, int /*vtype*/, int /*apid*/,
hal_info("%s:%s - filename=%s\n", FILENAME, __FUNCTION__, filename);
- guint flags = GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_NATIVE_VIDEO;
+ guint flags = GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_NATIVE_VIDEO;
/* increase the default 2 second / 2 MB buffer limitations to 5s / 5MB */
int m_buffer_size = 5 * 1024 * 1024;
@@ -849,7 +852,7 @@ bool cPlayback::GetPosition(int &position, int &duration)
hal_info("%s - %d failed\n", __FUNCTION__, __LINE__);
}
}
- position = pts / 1000000.0;
+ position = pts / 1000000.0;
// duration
GstFormat fmt_d = GST_FORMAT_TIME; //Returns time in nanosecs
double length = 0;
@@ -978,7 +981,7 @@ void cPlayback::FindAllPids(int *apids, unsigned int *ac3flags, unsigned int *nu
if (caps)
gst_caps_unref(caps);
- //(ac3flags[i] > 2) ? ac3flags[i] = 1 : ac3flags[i] = 0;
+ //(ac3flags[i] > 2) ? ac3flags[i] = 1 : ac3flags[i] = 0;
g_signal_emit_by_name(m_gst_playbin, "get-audio-tags", i, &tags);
if (tags)
diff --git a/libgeneric-pc/playback_lib.h b/libgeneric-pc/playback_lib.h
index a623ad9..00f4560 100644
--- a/libgeneric-pc/playback_lib.h
+++ b/libgeneric-pc/playback_lib.h
@@ -19,6 +19,7 @@ class cPlayback
int mAudioStream;
int mSubtitleStream;
int mTeletextStream;
+
public:
cPlayback(int);
bool Open(playmode_t PlayMode);
@@ -28,15 +29,9 @@ class cPlayback
bool SetAPid(int pid, bool ac3);
bool SetSubtitlePid(int pid);
bool SetTeletextPid(int pid);
- int GetAPid(void)
- {
- return mAudioStream;
- }
+ int GetAPid(void) { return mAudioStream; }
int GetVPid(void);
- int GetSubtitlePid(void)
- {
- return mSubtitleStream;
- }
+ int GetSubtitlePid(void) { return mSubtitleStream; }
int GetTeletextPid(void);
void SuspendSubtitle(bool);
int GetFirstTeletextPid(void);
@@ -46,23 +41,14 @@ class cPlayback
void GetPts(uint64_t &pts);
bool SetPosition(int position, bool absolute = false);
void FindAllPids(int *apids, unsigned int *ac3flags, unsigned int *numpida, std::string *language);
- void FindAllPids(uint16_t *apids, unsigned short *ac3flags, uint16_t *numpida, std::string *language)
- {
- FindAllPids((int *) apids, (unsigned int *) ac3flags, (unsigned int *) numpida, language);
- };
+ void FindAllPids(uint16_t *apids, unsigned short *ac3flags, uint16_t *numpida, std::string *language) { FindAllPids((int *) apids, (unsigned int *) ac3flags, (unsigned int *) numpida, language); };
void FindAllSubtitlePids(int *pids, unsigned int *numpids, std::string *language);
void FindAllTeletextsubtitlePids(int *pids, unsigned int *numpidt, std::string *tlanguage, int *mags, int *pages);
void RequestAbort(void);
- bool IsPlaying(void)
- {
- return false;
- }
+ bool IsPlaying(void) { return false; }
uint64_t GetReadCount(void);
void FindAllSubs(int *pids, unsigned int *supported, unsigned int *numpida, std::string *language);
- void FindAllSubs(uint16_t *pids, unsigned short *supported, uint16_t *numpida, std::string *language)
- {
- FindAllSubs((int *) pids, (unsigned int *) supported, (unsigned int *) numpida, language);
- };
+ void FindAllSubs(uint16_t *pids, unsigned short *supported, uint16_t *numpida, std::string *language) { FindAllSubs((int *) pids, (unsigned int *) supported, (unsigned int *) numpida, language); };
bool SelectSubtitles(int pid, std::string charset = "");
void GetTitles(std::vector &playlists, std::vector &titles, int ¤t);
void SetTitle(int title);
@@ -70,10 +56,7 @@ class cPlayback
void GetMetadata(std::vector &keys, std::vector &values);
//
~cPlayback();
- AVFormatContext *GetAVFormatContext()
- {
- return NULL;
- }
+ AVFormatContext *GetAVFormatContext() { return NULL; }
void ReleaseAVFormatContext() {}
};
diff --git a/libgeneric-pc/video.cpp b/libgeneric-pc/video.cpp
index 00fba06..30c3dbb 100644
--- a/libgeneric-pc/video.cpp
+++ b/libgeneric-pc/video.cpp
@@ -68,11 +68,11 @@ static int bufpos;
#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(58, 133, 100)
static void get_packet_defaults(AVPacket *pkt)
{
- memset(pkt, 0, sizeof(*pkt));
+ memset(pkt, 0, sizeof(*pkt));
- pkt->pts = AV_NOPTS_VALUE;
- pkt->dts = AV_NOPTS_VALUE;
- pkt->pos = -1;
+ pkt->pts = AV_NOPTS_VALUE;
+ pkt->dts = AV_NOPTS_VALUE;
+ pkt->pos = -1;
}
#endif
@@ -145,14 +145,14 @@ int cVideo::getAspectRatio(void)
ar = w * 100 * a.num / h / a.den;
if (ar < 100 || ar > 225) /* < 4:3, > 20:9 */
; /* ret = 0: N/A */
- else if (ar < 140) /* 4:3 */
+ else if (ar < 140) /* 4:3 */
ret = 1;
- else if (ar < 165) /* 14:9 */
+ else if (ar < 165) /* 14:9 */
ret = 2;
- else if (ar < 200) /* 16:9 */
+ else if (ar < 200) /* 16:9 */
ret = 3;
else
- ret = 4; /* 20:9 */
+ ret = 4; /* 20:9 */
out:
buf_m.unlock();
return ret;
@@ -349,8 +349,8 @@ bool cVideo::ShowPicture(const char *fname)
{
unsigned int need = av_image_get_buffer_size(VDEC_PIXFMT, c->width, c->height, 1);
struct SwsContext *convert = sws_getContext(c->width, c->height, c->pix_fmt,
- c->width, c->height, VDEC_PIXFMT,
- SWS_BICUBIC, 0, 0, 0);
+ c->width, c->height, VDEC_PIXFMT,
+ SWS_BICUBIC, 0, 0, 0);
if (!convert)
hal_info("%s: ERROR setting up SWS context\n", __func__);
else
@@ -360,9 +360,9 @@ bool cVideo::ShowPicture(const char *fname)
if (f->size() < need)
f->resize(need);
av_image_fill_arrays(rgbframe->data, rgbframe->linesize, &(*f)[0], VDEC_PIXFMT,
- c->width, c->height, 1);
+ c->width, c->height, 1);
sws_scale(convert, frame->data, frame->linesize, 0, c->height,
- rgbframe->data, rgbframe->linesize);
+ rgbframe->data, rgbframe->linesize);
sws_freeContext(convert);
f->width(c->width);
f->height(c->height);
@@ -485,7 +485,7 @@ static int my_read(void *, uint8_t *buf, int buf_size)
int tmp = 0;
if (videoDecoder && bufpos < DMX_BUF_SZ - 4096)
{
- while (bufpos < buf_size && ++tmp < 20) /* retry max 20 times */
+ while (bufpos < buf_size && ++tmp < 20) /* retry max 20 times */
{
int ret = videoDemux->Read(dmxbuf + bufpos, DMX_BUF_SZ - bufpos, 20);
if (ret > 0)
@@ -541,11 +541,11 @@ void cVideo::run(void)
#endif
inp = av_find_input_format("mpegts");
AVIOContext *pIOCtx = avio_alloc_context(inbuf, INBUF_SIZE, // internal Buffer and its size
- 0, // bWriteable (1=true,0=false)
- NULL, // user data; will be passed to our callback functions
- my_read, // read callback
- NULL, // write callback
- NULL); // seek callback
+ 0, // bWriteable (1=true,0=false)
+ NULL, // user data; will be passed to our callback functions
+ my_read, // read callback
+ NULL, // write callback
+ NULL); // seek callback
avfc = avformat_alloc_context();
avfc->pb = pIOCtx;
avfc->iformat = inp;
@@ -639,9 +639,9 @@ void cVideo::run(void)
{
unsigned int need = av_image_get_buffer_size(VDEC_PIXFMT, c->width, c->height, 1);
convert = sws_getCachedContext(convert,
- c->width, c->height, c->pix_fmt,
- c->width, c->height, VDEC_PIXFMT,
- SWS_BICUBIC, 0, 0, 0);
+ c->width, c->height, c->pix_fmt,
+ c->width, c->height, VDEC_PIXFMT,
+ SWS_BICUBIC, 0, 0, 0);
if (!convert)
hal_info("%s: ERROR setting up SWS context\n", __func__);
else
@@ -650,14 +650,11 @@ void cVideo::run(void)
SWFramebuffer *f = &buffers[buf_in];
if (f->size() < need)
f->resize(need);
- av_image_fill_arrays(rgbframe->data, rgbframe->linesize, &(*f)[0], VDEC_PIXFMT,
- c->width, c->height, 1);
- sws_scale(convert, frame->data, frame->linesize, 0, c->height,
- rgbframe->data, rgbframe->linesize);
+ av_image_fill_arrays(rgbframe->data, rgbframe->linesize, &(*f)[0], VDEC_PIXFMT, c->width, c->height, 1);
+ sws_scale(convert, frame->data, frame->linesize, 0, c->height, rgbframe->data, rgbframe->linesize);
if (dec_w != c->width || dec_h != c->height)
{
- hal_info("%s: pic changed %dx%d -> %dx%d\n", __func__,
- dec_w, dec_h, c->width, c->height);
+ hal_info("%s: pic changed %dx%d -> %dx%d\n", __func__, dec_w, dec_h, c->width, c->height);
dec_w = c->width;
dec_h = c->height;
w_h_changed = true;
@@ -697,13 +694,14 @@ void cVideo::run(void)
dec_r = c->time_base.den / (c->time_base.num * c->ticks_per_frame);
buf_m.unlock();
}
- hal_debug("%s: time_base: %d/%d, ticks: %d rate: %d pts 0x%" PRIx64 "\n", __func__,
- c->time_base.num, c->time_base.den, c->ticks_per_frame, dec_r,
+ hal_debug("%s: time_base: %d/%d, ticks: %d rate: %d pts 0x%" PRIx64 "\n",
+ __func__, c->time_base.num, c->time_base.den, c->ticks_per_frame, dec_r,
#if (LIBAVUTIL_VERSION_MAJOR < 54)
- av_frame_get_best_effort_timestamp(frame));
+ av_frame_get_best_effort_timestamp(frame)
#else
- frame->best_effort_timestamp);
+ frame->best_effort_timestamp
#endif
+ );
}
else
hal_debug("%s: got_frame: %d stillpicture: %d\n", __func__, got_frame, stillpicture);
@@ -789,7 +787,7 @@ static bool swscale(unsigned char *src, unsigned char *dst, int sw, int sh, int
bool cVideo::GetScreenImage(unsigned char *&data, int &xres, int &yres, bool get_video, bool get_osd, bool scale_to_video)
{
hal_info("%s: data 0x%p xres %d yres %d vid %d osd %d scale %d\n",
- __func__, data, xres, yres, get_video, get_osd, scale_to_video);
+ __func__, data, xres, yres, get_video, get_osd, scale_to_video);
SWFramebuffer video;
std::vector *osd = NULL;
std::vector s_osd; /* scaled OSD */
@@ -825,13 +823,13 @@ bool cVideo::GetScreenImage(unsigned char *&data, int &xres, int &yres, bool get
osd = glfb_priv->getOSDBuffer();
unsigned int need = av_image_get_buffer_size(AV_PIX_FMT_RGB32, xres, yres, 1);
data = (unsigned char *)realloc(data, need); /* will be freed by caller */
- if (data == NULL) /* out of memory? */
+ if (data == NULL) /* out of memory? */
return false;
if (get_video)
{
#if USE_OPENGL //memcpy dont work with copy BGR24 to RGB32
- if (vid_w != xres || vid_h != yres) /* scale video into data... */
+ if (vid_w != xres || vid_h != yres) /* scale video into data... */
{
#endif
bool ret = swscale(&video[0], data, vid_w, vid_h, xres, yres, VDEC_PIXFMT);
@@ -842,7 +840,7 @@ bool cVideo::GetScreenImage(unsigned char *&data, int &xres, int &yres, bool get
}
#if USE_OPENGL //memcpy dont work with copy BGR24 to RGB32
}
- else /* get_video and no fancy scaling needed */
+ else /* get_video and no fancy scaling needed */
{
memcpy(data, &video[0], xres * yres * sizeof(uint32_t));
}
@@ -878,7 +876,7 @@ bool cVideo::GetScreenImage(unsigned char *&data, int &xres, int &yres, bool get
{
uint8_t *in = (uint8_t *)(pixpos);
uint8_t *out = (uint8_t *)d;
- int a = in[3]; /* TODO: big/little endian? */
+ int a = in[3]; /* TODO: big/little endian? */
*out = (*out + ((*in - *out) * a) / 256);
in++;
out++;
diff --git a/libgeneric-pc/video_lib.h b/libgeneric-pc/video_lib.h
index 6aaa904..39821cf 100644
--- a/libgeneric-pc/video_lib.h
+++ b/libgeneric-pc/video_lib.h
@@ -107,7 +107,7 @@ typedef enum
VIDEO_STD_1080P24,
VIDEO_STD_1080P25,
VIDEO_STD_AUTO,
- VIDEO_STD_1080P50, /* SPARK only */
+ VIDEO_STD_1080P50, /* SPARK only */
VIDEO_STD_1080P60,
VIDEO_STD_1080P2397,
VIDEO_STD_1080P2997,
@@ -149,44 +149,21 @@ class cVideo : public OpenThreads::Thread
{
friend class GLFbPC;
friend class cDemux;
+
private:
/* called from GL thread */
class SWFramebuffer : public std::vector
{
public:
SWFramebuffer() : mWidth(0), mHeight(0) {}
- void width(int w)
- {
- mWidth = w;
- }
- void height(int h)
- {
- mHeight = h;
- }
- void pts(uint64_t p)
- {
- mPts = p;
- }
- void AR(AVRational a)
- {
- mAR = a;
- }
- int width() const
- {
- return mWidth;
- }
- int height() const
- {
- return mHeight;
- }
- int64_t pts() const
- {
- return mPts;
- }
- AVRational AR() const
- {
- return mAR;
- }
+ void width(int w) { mWidth = w; }
+ void height(int h) { mHeight = h; }
+ void pts(uint64_t p) { mPts = p; }
+ void AR(AVRational a) { mAR = a; }
+ int width() const { return mWidth; }
+ int height() const { return mHeight; }
+ int64_t pts() const { return mPts; }
+ AVRational AR() const { return mAR; }
private:
int mWidth;
int mHeight;
@@ -195,23 +172,15 @@ class cVideo : public OpenThreads::Thread
};
int buf_in, buf_out, buf_num;
int64_t GetPTS(void);
+
public:
/* constructor & destructor */
cVideo(int mode, void *, void *, unsigned int unit = 0);
~cVideo(void);
- void *GetTVEnc()
- {
- return NULL;
- };
- void *GetTVEncSD()
- {
- return NULL;
- };
- void setAVInput(int /*val*/)
- {
- return;
- };
+ void *GetTVEnc() { return NULL; };
+ void *GetTVEncSD() { return NULL; };
+ void setAVInput(int /*val*/) { return; };
/* aspect ratio */
int getAspectRatio(void);
@@ -241,66 +210,28 @@ class cVideo : public OpenThreads::Thread
bool ShowPicture(const char *fname);
void SetSyncMode(AVSYNC_TYPE mode);
- bool SetCECMode(VIDEO_HDMI_CEC_MODE)
- {
- return true;
- };
- void SetCECAutoView(bool)
- {
- return;
- };
- void SetCECAutoStandby(bool)
- {
- return;
- };
- int GetAudioDestination()
- {
- return 0;
- };
- void SetAudioDestination(int /*audio_dest*/)
- {
- return;
- };
+ bool SetCECMode(VIDEO_HDMI_CEC_MODE) { return true; };
+ void SetCECAutoView(bool) { return; };
+ void SetCECAutoStandby(bool) { return; };
+ int GetAudioDestination() { return 0; };
+ void SetAudioDestination(int /*audio_dest*/) { return; };
void StopPicture();
void Standby(unsigned int bOn);
void Pig(int x, int y, int w, int h, int osd_w = 1064, int osd_h = 600, int startx = 0, int starty = 0, int endx = 1279, int endy = 719);
- void SetControl(int, int)
- {
- return;
- };
+ void SetControl(int, int) { return; };
void setContrast(int val);
void SetVideoMode(analog_mode_t mode);
- void SetDBDR(int)
- {
- return;
- };
- void SetAudioHandle(void *)
- {
- return;
- };
- void SetAutoModes(int [VIDEO_STD_MAX])
- {
- return;
- };
- int OpenVBI(int)
- {
- return 0;
- };
- int CloseVBI(void)
- {
- return 0;
- };
- int StartVBI(unsigned short)
- {
- return 0;
- };
- int StopVBI(void)
- {
- return 0;
- };
+ void SetDBDR(int) { return; };
+ void SetAudioHandle(void *) { return; };
+ void SetAutoModes(int [VIDEO_STD_MAX]) { return; };
+ int OpenVBI(int) { return 0; };
+ int CloseVBI(void) { return 0; };
+ int StartVBI(unsigned short) { return 0; };
+ int StopVBI(void) { return 0; };
void SetDemux(cDemux *dmx);
bool GetScreenImage(unsigned char *&data, int &xres, int &yres, bool get_video = true, bool get_osd = false, bool scale_to_video = false);
SWFramebuffer *getDecBuf(void);
+
private:
void run();
SWFramebuffer buffers[VDEC_MAXBUFS];