mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-libstb-hal.git
synced 2025-08-26 23:12:44 +02:00
armbox: Cosmetics replace spaces with tabs and delete unnecessary tabs
Origin commit data
------------------
Branch: master
Commit: 41083fe79e
Author: max_10 <max_10@gmx.de>
Date: 2017-10-08 (Sun, 08 Oct 2017)
------------------
No further description and justification available within origin commit message!
------------------
This commit was generated by Migit
This commit is contained in:
@@ -49,18 +49,18 @@ static const char * FILENAME = "[playback.cpp]";
|
||||
|
||||
typedef enum
|
||||
{
|
||||
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),
|
||||
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;
|
||||
|
||||
|
||||
@@ -80,14 +80,14 @@ gint match_sinktype(const GValue *velement, const gchar *type)
|
||||
GstBusSyncReply Gst_bus_call(GstBus * bus, GstMessage *msg, gpointer user_data)
|
||||
{
|
||||
gchar * sourceName;
|
||||
|
||||
|
||||
// source
|
||||
GstObject * source;
|
||||
source = GST_MESSAGE_SRC(msg);
|
||||
|
||||
|
||||
if (!GST_IS_OBJECT(source))
|
||||
return GST_BUS_DROP;
|
||||
|
||||
|
||||
sourceName = gst_object_get_name(source);
|
||||
|
||||
switch (GST_MESSAGE_TYPE(msg))
|
||||
@@ -98,7 +98,7 @@ GstBusSyncReply Gst_bus_call(GstBus * bus, GstMessage *msg, gpointer user_data)
|
||||
end_eof = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
case GST_MESSAGE_ERROR:
|
||||
{
|
||||
gchar * debug;
|
||||
@@ -119,15 +119,15 @@ GstBusSyncReply Gst_bus_call(GstBus * bus, GstMessage *msg, gpointer user_data)
|
||||
g_error_free(err);
|
||||
|
||||
end_eof = 1; // NOTE: just to exit
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
case GST_MESSAGE_INFO:
|
||||
{
|
||||
gchar *debug;
|
||||
GError *inf;
|
||||
|
||||
|
||||
gst_message_parse_info (msg, &inf, &debug);
|
||||
g_free (debug);
|
||||
if ( inf->domain == GST_STREAM_ERROR && inf->code == GST_STREAM_ERROR_DECODE )
|
||||
@@ -138,12 +138,12 @@ GstBusSyncReply Gst_bus_call(GstBus * bus, GstMessage *msg, gpointer user_data)
|
||||
g_error_free(inf);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
case GST_MESSAGE_TAG:
|
||||
{
|
||||
GstTagList *tags, *result;
|
||||
gst_message_parse_tag(msg, &tags);
|
||||
|
||||
|
||||
result = gst_tag_list_merge(m_stream_tags, tags, GST_TAG_MERGE_REPLACE);
|
||||
if (result)
|
||||
{
|
||||
@@ -151,7 +151,7 @@ GstBusSyncReply Gst_bus_call(GstBus * bus, GstMessage *msg, gpointer user_data)
|
||||
gst_tag_list_free(m_stream_tags);
|
||||
m_stream_tags = result;
|
||||
}
|
||||
|
||||
|
||||
const GValue *gv_image = gst_tag_list_get_value_index(tags, GST_TAG_IMAGE, 0);
|
||||
if ( gv_image )
|
||||
{
|
||||
@@ -173,7 +173,7 @@ GstBusSyncReply Gst_bus_call(GstBus * bus, GstMessage *msg, gpointer user_data)
|
||||
lt_debug_c( "%s:%s - GST_MESSAGE_INFO: update info tags\n", FILENAME, __FUNCTION__); //FIXME: how shall playback handle this event???
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
case GST_MESSAGE_STATE_CHANGED:
|
||||
{
|
||||
if(GST_MESSAGE_SRC(msg) != GST_OBJECT(m_gst_playbin))
|
||||
@@ -185,14 +185,15 @@ GstBusSyncReply Gst_bus_call(GstBus * bus, GstMessage *msg, gpointer user_data)
|
||||
if(old_state == new_state)
|
||||
break;
|
||||
lt_info_c( "%s:%s - GST_MESSAGE_STATE_CHANGED: state transition %s -> %s\n", FILENAME, __FUNCTION__, gst_element_state_get_name(old_state), gst_element_state_get_name(new_state));
|
||||
|
||||
|
||||
GstStateChange transition = (GstStateChange)GST_STATE_TRANSITION(old_state, new_state);
|
||||
|
||||
|
||||
switch(transition)
|
||||
{
|
||||
case GST_STATE_CHANGE_NULL_TO_READY:
|
||||
{
|
||||
} break;
|
||||
}
|
||||
break;
|
||||
case GST_STATE_CHANGE_READY_TO_PAUSED:
|
||||
{
|
||||
GstIterator *children;
|
||||
@@ -203,12 +204,14 @@ GstBusSyncReply Gst_bus_call(GstBus * bus, GstMessage *msg, gpointer user_data)
|
||||
gst_object_unref(GST_OBJECT(audioSink));
|
||||
audioSink = NULL;
|
||||
}
|
||||
|
||||
|
||||
if (videoSink)
|
||||
{
|
||||
gst_object_unref(GST_OBJECT(videoSink));
|
||||
videoSink = NULL;
|
||||
}
|
||||
|
||||
// set audio sink
|
||||
children = gst_bin_iterate_recurse(GST_BIN(m_gst_playbin));
|
||||
|
||||
if (gst_iterator_find_custom(children, (GCompareFunc)match_sinktype, &r, (gpointer)"GstDVBAudioSink"))
|
||||
@@ -219,6 +222,8 @@ GstBusSyncReply Gst_bus_call(GstBus * bus, GstMessage *msg, gpointer user_data)
|
||||
}
|
||||
|
||||
gst_iterator_free(children);
|
||||
|
||||
// set video sink
|
||||
children = gst_bin_iterate_recurse(GST_BIN(m_gst_playbin));
|
||||
|
||||
if (gst_iterator_find_custom(children, (GCompareFunc)match_sinktype, &r, (gpointer)"GstDVBVideoSink"))
|
||||
@@ -227,15 +232,21 @@ GstBusSyncReply Gst_bus_call(GstBus * bus, GstMessage *msg, gpointer user_data)
|
||||
g_value_unset (&r);
|
||||
lt_info_c( "%s %s - video sink created\n", FILENAME, __FUNCTION__);
|
||||
}
|
||||
|
||||
gst_iterator_free(children);
|
||||
|
||||
} break;
|
||||
}
|
||||
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)
|
||||
@@ -248,10 +259,13 @@ GstBusSyncReply Gst_bus_call(GstBus * bus, GstMessage *msg, gpointer user_data)
|
||||
gst_object_unref(GST_OBJECT(videoSink));
|
||||
videoSink = NULL;
|
||||
}
|
||||
} break;
|
||||
}
|
||||
break;
|
||||
|
||||
case GST_STATE_CHANGE_READY_TO_NULL:
|
||||
{
|
||||
} break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -263,27 +277,27 @@ GstBusSyncReply Gst_bus_call(GstBus * bus, GstMessage *msg, gpointer user_data)
|
||||
return GST_BUS_DROP;
|
||||
}
|
||||
|
||||
|
||||
cPlayback::cPlayback(int num)
|
||||
{
|
||||
{
|
||||
lt_info( "%s:%s\n", FILENAME, __FUNCTION__);
|
||||
const gchar *nano_str;
|
||||
guint major, minor, micro, nano;
|
||||
const gchar *nano_str;
|
||||
guint major, minor, micro, nano;
|
||||
|
||||
/* init gstreamer */
|
||||
gst_init(NULL, NULL);
|
||||
|
||||
gst_version (&major, &minor, µ, &nano);
|
||||
|
||||
if (nano == 1)
|
||||
nano_str = "(CVS)";
|
||||
else if (nano == 2)
|
||||
nano_str = "(Prerelease)";
|
||||
if (nano == 1)
|
||||
nano_str = "(CVS)";
|
||||
else if (nano == 2)
|
||||
nano_str = "(Prerelease)";
|
||||
else
|
||||
nano_str = "";
|
||||
nano_str = "";
|
||||
|
||||
lt_info( "%s:%s - This program is linked against GStreamer %d.%d.%d %s\n",
|
||||
lt_info( "%s:%s - This program is linked against GStreamer %d.%d.%d %s\n",
|
||||
FILENAME, __FUNCTION__,
|
||||
major, minor, micro, nano_str);
|
||||
major, minor, micro, nano_str);
|
||||
|
||||
mAudioStream = 0;
|
||||
mSpeed = 0;
|
||||
@@ -292,8 +306,9 @@ cPlayback::cPlayback(int num)
|
||||
playstate = STATE_STOP;
|
||||
}
|
||||
|
||||
/* called at housekepping */
|
||||
cPlayback::~cPlayback()
|
||||
{
|
||||
{
|
||||
lt_info( "%s:%s\n", FILENAME, __FUNCTION__);
|
||||
//FIXME: all deleting stuff is done in Close()
|
||||
}
|
||||
@@ -307,11 +322,11 @@ bool cPlayback::Open(playmode_t PlayMode)
|
||||
|
||||
// used by movieplay
|
||||
void cPlayback::Close(void)
|
||||
{
|
||||
{
|
||||
lt_info( "%s:%s\n", FILENAME, __FUNCTION__);
|
||||
|
||||
Stop();
|
||||
|
||||
|
||||
// disconnect bus handler
|
||||
if (m_gst_playbin)
|
||||
{
|
||||
@@ -321,7 +336,7 @@ void cPlayback::Close(void)
|
||||
gst_object_unref(bus);
|
||||
lt_info( "%s:%s - GST bus handler closed\n", FILENAME, __FUNCTION__);
|
||||
}
|
||||
|
||||
|
||||
if (m_stream_tags)
|
||||
gst_tag_list_free(m_stream_tags);
|
||||
|
||||
@@ -335,7 +350,7 @@ void cPlayback::Close(void)
|
||||
|
||||
lt_info( "%s:%s - GST audio Sink closed\n", FILENAME, __FUNCTION__);
|
||||
}
|
||||
|
||||
|
||||
if (videoSink)
|
||||
{
|
||||
gst_object_unref(GST_OBJECT(videoSink));
|
||||
@@ -343,11 +358,11 @@ void cPlayback::Close(void)
|
||||
|
||||
lt_info( "%s:%s - GST video Sink closed\n", FILENAME, __FUNCTION__);
|
||||
}
|
||||
|
||||
|
||||
// unref m_gst_playbin
|
||||
gst_object_unref (GST_OBJECT (m_gst_playbin));
|
||||
lt_info( "%s:%s - GST playbin closed\n", FILENAME, __FUNCTION__);
|
||||
|
||||
|
||||
m_gst_playbin = NULL;
|
||||
}
|
||||
}
|
||||
@@ -363,7 +378,7 @@ bool cPlayback::Start(char *filename, int /*vpid*/, int /*vtype*/, int /*apid*/,
|
||||
lt_info( "%s:%s\n", FILENAME, __FUNCTION__);
|
||||
|
||||
mAudioStream = 0;
|
||||
|
||||
|
||||
//create playback path
|
||||
char file[400] = {""};
|
||||
bool isHTTP = false;
|
||||
@@ -393,19 +408,19 @@ bool cPlayback::Start(char *filename, int /*vpid*/, int /*vtype*/, int /*apid*/,
|
||||
isHTTP = true;
|
||||
}
|
||||
else
|
||||
strcat(file, "file://");
|
||||
|
||||
strcat(file, "file://");
|
||||
|
||||
strcat(file, filename);
|
||||
|
||||
|
||||
if (isHTTP)
|
||||
uri = g_uri_escape_string(filename, G_URI_RESERVED_CHARS_GENERIC_DELIMITERS, true);
|
||||
else
|
||||
uri = g_filename_to_uri(filename, NULL, NULL);
|
||||
|
||||
|
||||
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;
|
||||
guint flags = GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_VIDEO | \
|
||||
GST_PLAY_FLAG_TEXT | GST_PLAY_FLAG_NATIVE_VIDEO;
|
||||
|
||||
/* increase the default 2 second / 2 MB buffer limitations to 5s / 5MB */
|
||||
int m_buffer_size = 5*1024*1024;
|
||||
@@ -417,26 +432,28 @@ bool cPlayback::Start(char *filename, int /*vpid*/, int /*vtype*/, int /*apid*/,
|
||||
{
|
||||
lt_info("%s:%s - m_gst_playbin\n", FILENAME, __FUNCTION__);
|
||||
|
||||
if(isHTTP)
|
||||
if(isHTTP)
|
||||
{
|
||||
// set buffer size
|
||||
g_object_set(G_OBJECT(m_gst_playbin), "buffer-size", m_buffer_size, NULL);
|
||||
g_object_set(G_OBJECT(m_gst_playbin), "buffer-duration", 5LL * GST_SECOND, NULL);
|
||||
flags |= GST_PLAY_FLAG_BUFFERING;
|
||||
}
|
||||
// set buffer size
|
||||
g_object_set(G_OBJECT(m_gst_playbin), "buffer-size", m_buffer_size, NULL);
|
||||
g_object_set(G_OBJECT(m_gst_playbin), "buffer-duration", 5LL * GST_SECOND, NULL);
|
||||
flags |= GST_PLAY_FLAG_BUFFERING;
|
||||
}
|
||||
|
||||
g_object_set(G_OBJECT (m_gst_playbin), "flags", flags, NULL);
|
||||
// set flags
|
||||
g_object_set(G_OBJECT (m_gst_playbin), "flags", flags, NULL);
|
||||
|
||||
// set uri
|
||||
g_object_set(G_OBJECT (m_gst_playbin), "uri", uri, NULL);
|
||||
|
||||
|
||||
//gstbus handler
|
||||
GstBus * bus = gst_pipeline_get_bus( GST_PIPELINE(m_gst_playbin) );
|
||||
GstBus * bus = gst_pipeline_get_bus(GST_PIPELINE(m_gst_playbin));
|
||||
gst_bus_set_sync_handler(bus, Gst_bus_call, NULL, NULL);
|
||||
gst_object_unref(bus);
|
||||
|
||||
gst_object_unref(bus);
|
||||
|
||||
// state playing
|
||||
gst_element_set_state(GST_ELEMENT(m_gst_playbin), GST_STATE_PLAYING);
|
||||
|
||||
|
||||
playing = true;
|
||||
playstate = STATE_PLAY;
|
||||
}
|
||||
@@ -444,22 +461,22 @@ bool cPlayback::Start(char *filename, int /*vpid*/, int /*vtype*/, int /*apid*/,
|
||||
{
|
||||
lt_info("%s:%s - failed to create GStreamer pipeline!, sorry we can not play\n", FILENAME, __FUNCTION__);
|
||||
playing = false;
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
g_free(uri);
|
||||
|
||||
|
||||
g_free(uri);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool cPlayback::Play(void)
|
||||
{
|
||||
lt_info( "%s:%s playing %d\n", FILENAME, __FUNCTION__, playing);
|
||||
lt_info( "%s:%s playing %d\n", FILENAME, __FUNCTION__, playing);
|
||||
|
||||
if(playing == true)
|
||||
return true;
|
||||
|
||||
|
||||
if(m_gst_playbin)
|
||||
{
|
||||
gst_element_set_state(GST_ELEMENT(m_gst_playbin), GST_STATE_PLAYING);
|
||||
@@ -473,11 +490,12 @@ bool cPlayback::Play(void)
|
||||
}
|
||||
|
||||
bool cPlayback::Stop(void)
|
||||
{
|
||||
{
|
||||
if(playing == false)
|
||||
return false;
|
||||
|
||||
lt_info( "%s:%s playing %d\n", FILENAME, __FUNCTION__, playing);
|
||||
|
||||
|
||||
// stop
|
||||
if(m_gst_playbin)
|
||||
{
|
||||
@@ -485,9 +503,9 @@ bool cPlayback::Stop(void)
|
||||
}
|
||||
|
||||
playing = false;
|
||||
|
||||
|
||||
lt_info( "%s:%s playing %d\n", FILENAME, __FUNCTION__, playing);
|
||||
|
||||
|
||||
playstate = STATE_STOP;
|
||||
|
||||
return true;
|
||||
@@ -496,9 +514,9 @@ bool cPlayback::Stop(void)
|
||||
bool cPlayback::SetAPid(int pid , bool /*ac3*/)
|
||||
{
|
||||
lt_info("%s: pid %i\n", __func__, pid);
|
||||
|
||||
|
||||
int current_audio;
|
||||
|
||||
|
||||
if(pid != mAudioStream)
|
||||
{
|
||||
g_object_set (G_OBJECT (m_gst_playbin), "current-audio", pid, NULL);
|
||||
@@ -515,7 +533,7 @@ void cPlayback::trickSeek(int ratio)
|
||||
gint64 pos = 0;
|
||||
int position;
|
||||
int duration;
|
||||
|
||||
|
||||
if( GetPosition(position, duration) )
|
||||
{
|
||||
validposition = true;
|
||||
@@ -523,7 +541,7 @@ void cPlayback::trickSeek(int ratio)
|
||||
}
|
||||
|
||||
gst_element_set_state(m_gst_playbin, GST_STATE_PLAYING);
|
||||
|
||||
|
||||
if (validposition)
|
||||
{
|
||||
if(ratio >= 0.0)
|
||||
@@ -534,14 +552,14 @@ void cPlayback::trickSeek(int ratio)
|
||||
}
|
||||
|
||||
bool cPlayback::SetSpeed(int speed)
|
||||
{
|
||||
lt_info( "%s:%s speed %d\n", FILENAME, __FUNCTION__, speed);
|
||||
{
|
||||
lt_info( "%s:%s speed %d\n", FILENAME, __FUNCTION__, speed);
|
||||
|
||||
if(playing == false)
|
||||
if(playing == false)
|
||||
return false;
|
||||
|
||||
if(m_gst_playbin)
|
||||
{
|
||||
{
|
||||
// pause
|
||||
if(speed == 0)
|
||||
{
|
||||
@@ -579,8 +597,8 @@ bool cPlayback::SetSpeed(int speed)
|
||||
}
|
||||
|
||||
bool cPlayback::SetSlow(int slow)
|
||||
{
|
||||
lt_info( "%s:%s playing %d\n", FILENAME, __FUNCTION__, playing);
|
||||
{
|
||||
lt_info( "%s:%s playing %d\n", FILENAME, __FUNCTION__, playing);
|
||||
|
||||
if(playing == false)
|
||||
return false;
|
||||
@@ -608,7 +626,7 @@ bool cPlayback::GetSpeed(int &speed) const
|
||||
bool cPlayback::GetPosition(int &position, int &duration)
|
||||
{
|
||||
if(playing == false)
|
||||
return false;
|
||||
return false;
|
||||
|
||||
//EOF
|
||||
if(end_eof)
|
||||
@@ -616,18 +634,18 @@ bool cPlayback::GetPosition(int &position, int &duration)
|
||||
end_eof = 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(m_gst_playbin)
|
||||
{
|
||||
//position
|
||||
GstFormat fmt = GST_FORMAT_TIME; //Returns time in nanosecs
|
||||
|
||||
|
||||
gint64 pts = 0;
|
||||
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
|
||||
double length = 0;
|
||||
@@ -637,31 +655,31 @@ bool cPlayback::GetPosition(int &position, int &duration)
|
||||
length = len / 1000000.0;
|
||||
if(length < 0)
|
||||
length = 0;
|
||||
|
||||
|
||||
duration = (int)(length);
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool cPlayback::SetPosition(int position, bool absolute)
|
||||
{
|
||||
lt_info("%s: pos %d abs %d playing %d\n", __func__, position, absolute, playing);
|
||||
|
||||
|
||||
if(playing == false)
|
||||
return false;
|
||||
|
||||
|
||||
gint64 time_nanoseconds;
|
||||
gint64 pos;
|
||||
GstFormat fmt = GST_FORMAT_TIME;
|
||||
|
||||
|
||||
if(m_gst_playbin)
|
||||
{
|
||||
gst_element_query_position(m_gst_playbin, fmt, &pos);
|
||||
time_nanoseconds = pos + (position * 1000000.0);
|
||||
if(time_nanoseconds < 0)
|
||||
time_nanoseconds = 0;
|
||||
|
||||
|
||||
gst_element_seek(m_gst_playbin, 1.0, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH, GST_SEEK_TYPE_SET, time_nanoseconds, GST_SEEK_TYPE_NONE, GST_CLOCK_TIME_NONE);
|
||||
}
|
||||
|
||||
@@ -669,35 +687,35 @@ bool cPlayback::SetPosition(int position, bool absolute)
|
||||
}
|
||||
|
||||
void cPlayback::FindAllPids(int *apids, unsigned int *ac3flags, unsigned int *numpida, std::string * language)
|
||||
{
|
||||
{
|
||||
lt_info( "%s:%s\n", FILENAME, __FUNCTION__);
|
||||
|
||||
if(m_gst_playbin)
|
||||
{
|
||||
gint i, n_audio = 0;
|
||||
//GstStructure * structure = NULL;
|
||||
|
||||
|
||||
// get audio
|
||||
g_object_get (m_gst_playbin, "n-audio", &n_audio, NULL);
|
||||
printf("%s: %d audio\n", __FUNCTION__, n_audio);
|
||||
|
||||
|
||||
if(n_audio == 0)
|
||||
return;
|
||||
|
||||
|
||||
for (i = 0; i < n_audio; i++)
|
||||
{
|
||||
// apids
|
||||
apids[i]=i;
|
||||
|
||||
apids[i] = i;
|
||||
|
||||
GstPad * pad = 0;
|
||||
g_signal_emit_by_name (m_gst_playbin, "get-audio-pad", i, &pad);
|
||||
GstCaps * caps = gst_pad_get_current_caps(pad);
|
||||
if (!caps)
|
||||
continue;
|
||||
|
||||
|
||||
GstStructure * structure = gst_caps_get_structure(caps, 0);
|
||||
//const gchar *g_type = gst_structure_get_name(structure);
|
||||
|
||||
|
||||
//if (!structure)
|
||||
//return atUnknown;
|
||||
//ac3flags[0] = 0;
|
||||
@@ -711,7 +729,7 @@ void cPlayback::FindAllPids(int *apids, unsigned int *ac3flags, unsigned int *nu
|
||||
//return atUnknown;
|
||||
ac3flags[i] = 0;
|
||||
|
||||
switch (mpegversion)
|
||||
switch (mpegversion)
|
||||
{
|
||||
case 1:
|
||||
/*
|
||||
@@ -746,26 +764,26 @@ void cPlayback::FindAllPids(int *apids, unsigned int *ac3flags, unsigned int *nu
|
||||
else if ( gst_structure_has_name (structure, "audio/x-raw-int") )
|
||||
//return atPCM;
|
||||
ac3flags[i] = 0;
|
||||
|
||||
|
||||
gst_caps_unref(caps);
|
||||
}
|
||||
|
||||
|
||||
// numpids
|
||||
*numpida=i;
|
||||
*numpida = i;
|
||||
}
|
||||
}
|
||||
|
||||
void cPlayback::getMeta()
|
||||
{
|
||||
if(playing)
|
||||
if(playing)
|
||||
return;
|
||||
}
|
||||
|
||||
bool cPlayback::SyncAV(void)
|
||||
{
|
||||
lt_info( "%s:%s playing %d\n", FILENAME, __FUNCTION__, playing);
|
||||
lt_info( "%s:%s playing %d\n", FILENAME, __FUNCTION__, playing);
|
||||
|
||||
if(playing == false )
|
||||
if(playing == false)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
@@ -52,7 +52,7 @@ class cPlayback
|
||||
|
||||
public:
|
||||
playstate_t playstate;
|
||||
|
||||
|
||||
cPlayback(int);
|
||||
bool Open(playmode_t PlayMode);
|
||||
void Close(void);
|
||||
@@ -60,13 +60,13 @@ class cPlayback
|
||||
bool Start(std::string filename, std::string headers = "");
|
||||
bool Play(void);
|
||||
bool SyncAV(void);
|
||||
|
||||
|
||||
bool Stop(void);
|
||||
bool SetAPid(int pid, bool ac3);
|
||||
bool SetSubtitlePid(int pid);
|
||||
bool SetTeletextPid(int pid);
|
||||
|
||||
void trickSeek(int ratio);
|
||||
void trickSeek(int ratio);
|
||||
bool SetSpeed(int speed);
|
||||
bool SetSlow(int slow);
|
||||
bool GetSpeed(int &speed) const;
|
||||
@@ -90,7 +90,7 @@ class cPlayback
|
||||
|
||||
//
|
||||
~cPlayback();
|
||||
void getMeta();
|
||||
void getMeta();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user