Merge remote-tracking branch 'tangocash/master'

Origin commit data
------------------
Branch: master
Commit: c2b0d46a4e
Author: max_10 <max_10@gmx.de>
Date: 2017-09-17 (Sun, 17 Sep 2017)


------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
max_10
2017-09-17 21:54:06 +02:00
3 changed files with 54 additions and 21 deletions

View File

@@ -110,14 +110,19 @@ static const char *DMX_T[] = {
static int dmx_source[NUM_DEMUX] = { 0, 0, 0, 0 };
/* map the device numbers. */
#define NUM_DEMUXDEV 3
#define NUM_DEMUXDEV 8
static const char *devname[NUM_DEMUXDEV] = {
"/dev/dvb/adapter0/demux0",
"/dev/dvb/adapter0/demux1",
"/dev/dvb/adapter0/demux2"
"/dev/dvb/adapter0/demux2",
"/dev/dvb/adapter0/demux3",
"/dev/dvb/adapter0/demux4",
"/dev/dvb/adapter0/demux5",
"/dev/dvb/adapter0/demux6",
"/dev/dvb/adapter0/demux7"
};
/* did we already DMX_SET_SOURCE on that demux device? */
static bool init[NUM_DEMUXDEV] = { false, false, false };
static bool init[NUM_DEMUXDEV] = { false, false, false, false, false, false, false, false };
/* uuuugly */
static int dmx_tp_count = 0;

View File

@@ -49,15 +49,18 @@ static const char * FILENAME = "[playback.cpp]";
typedef enum
{
GST_PLAY_FLAG_VIDEO = 0x00000001,
GST_PLAY_FLAG_AUDIO = 0x00000002,
GST_PLAY_FLAG_TEXT = 0x00000004,
GST_PLAY_FLAG_VIS = 0x00000008,
GST_PLAY_FLAG_SOFT_VOLUME = 0x00000010,
GST_PLAY_FLAG_NATIVE_AUDIO = 0x00000020,
GST_PLAY_FLAG_NATIVE_VIDEO = 0x00000040,
GST_PLAY_FLAG_DOWNLOAD = 0x00000080,
GST_PLAY_FLAG_BUFFERING = 0x000000100
GST_PLAY_FLAG_VIDEO = (1 << 0),
GST_PLAY_FLAG_AUDIO = (1 << 1),
GST_PLAY_FLAG_TEXT = (1 << 2),
GST_PLAY_FLAG_VIS = (1 << 3),
GST_PLAY_FLAG_SOFT_VOLUME = (1 << 4),
GST_PLAY_FLAG_NATIVE_AUDIO = (1 << 5),
GST_PLAY_FLAG_NATIVE_VIDEO = (1 << 6),
GST_PLAY_FLAG_DOWNLOAD = (1 << 7),
GST_PLAY_FLAG_BUFFERING = (1 << 8),
GST_PLAY_FLAG_DEINTERLACE = (1 << 9),
GST_PLAY_FLAG_SOFT_COLORBALANCE = (1 << 10),
GST_PLAY_FLAG_FORCE_FILTERS = (1 << 11),
} GstPlayFlags;
@@ -389,6 +392,9 @@ bool cPlayback::Start(char *filename, int /*vpid*/, int /*vtype*/, int /*apid*/,
lt_info("%s:%s - filename=%s\n", FILENAME, __FUNCTION__, filename);
guint flags = GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_VIDEO | \
GST_PLAY_FLAG_TEXT | GST_PLAY_FLAG_NATIVE_VIDEO;
// create gst pipeline
m_gst_playbin = gst_element_factory_make ("playbin", "playbin");
@@ -396,13 +402,6 @@ bool cPlayback::Start(char *filename, int /*vpid*/, int /*vtype*/, int /*apid*/,
{
lt_info("%s:%s - m_gst_playbin\n", FILENAME, __FUNCTION__);
guint flags;
g_object_get(G_OBJECT (m_gst_playbin), "flags", &flags, NULL);
/* avoid video conversion, let the (hardware) sinks handle that */
flags |= GST_PLAY_FLAG_NATIVE_VIDEO;
/* volume control is done by hardware */
flags &= ~GST_PLAY_FLAG_SOFT_VOLUME;
g_object_set(G_OBJECT (m_gst_playbin), "uri", uri, NULL);
g_object_set(G_OBJECT (m_gst_playbin), "flags", flags, NULL);

View File

@@ -85,6 +85,26 @@ static const char *VMPEG_dst_all[] = {
"/proc/stb/vmpeg/1/dst_all"
};
static const char *VMPEG_dst_height[] = {
"/proc/stb/vmpeg/0/dst_height",
"/proc/stb/vmpeg/1/dst_height"
};
static const char *VMPEG_dst_width[] = {
"/proc/stb/vmpeg/0/dst_width",
"/proc/stb/vmpeg/1/dst_width"
};
static const char *VMPEG_dst_top[] = {
"/proc/stb/vmpeg/0/dst_top",
"/proc/stb/vmpeg/1/dst_top"
};
static const char *VMPEG_dst_left[] = {
"/proc/stb/vmpeg/0/dst_left",
"/proc/stb/vmpeg/1/dst_left"
};
static const char *VMPEG_framerate[] = {
"/proc/stb/vmpeg/0/framerate",
"/proc/stb/vmpeg/1/framerate"
@@ -653,8 +673,17 @@ void cVideo::Pig(int x, int y, int w, int h, int osd_w, int osd_h, int startx, i
_h /= 720;
}
lt_debug("#%d %s: x:%d y:%d w:%d h:%d xr:%d yr:%d\n", devnum, __func__, _x, _y, _w, _h, xres, yres);
sprintf(buffer, "%x %x %x %x", _x, _y, _w, _h);
proc_put(VMPEG_dst_all[devnum], buffer, strlen(buffer));
sprintf(buffer, "%x", _x);
proc_put(VMPEG_dst_left[devnum], buffer, strlen(buffer));
sprintf(buffer, "%x", _y);
proc_put(VMPEG_dst_top[devnum], buffer, strlen(buffer));
sprintf(buffer, "%x", _w);
proc_put(VMPEG_dst_width[devnum], buffer, strlen(buffer));
sprintf(buffer, "%x", _h);
proc_put(VMPEG_dst_height[devnum], buffer, strlen(buffer));
}
static inline int rate2csapi(int rate)