Origin commit data
------------------
Branch: master
Commit: 899fc00967
Author: gixxpunk <thomas.harfmann@gmail.com>
Date: 2017-11-13 (Mon, 13 Nov 2017)


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

------------------
This commit was generated by Migit
This commit is contained in:
gixxpunk
2017-11-13 18:01:56 +01:00

View File

@@ -188,8 +188,6 @@ void playbinNotifySource(GObject *object, GParamSpec *param_spec, gpointer user_
GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
{
gchar * sourceName;
// source
GstObject * source;
source = GST_MESSAGE_SRC(msg);
@@ -197,8 +195,6 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
if (!GST_IS_OBJECT(source))
return GST_BUS_DROP;
sourceName = gst_object_get_name(source);
switch (GST_MESSAGE_TYPE(msg))
{
case GST_MESSAGE_EOS:
@@ -214,6 +210,7 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
GError *err;
gst_message_parse_error(msg, &err, &debug);
g_free (debug);
gchar * sourceName = gst_object_get_name(source);
lt_info_c( "%s:%s - GST_MESSAGE_ERROR: %s (%i) from %s\n", FILENAME, __FUNCTION__, err->message, err->code, sourceName );
if ( err->domain == GST_STREAM_ERROR )
{
@@ -226,6 +223,8 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
}
}
g_error_free(err);
if(sourceName)
g_free(sourceName);
end_eof = 1; // NOTE: just to exit
@@ -241,8 +240,12 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
g_free (debug);
if ( inf->domain == GST_STREAM_ERROR && inf->code == GST_STREAM_ERROR_DECODE )
{
gchar * sourceName = gst_object_get_name(source);
if ( g_strrstr(sourceName, "videosink") )
lt_info_c( "%s:%s - GST_MESSAGE_INFO: videosink\n", FILENAME, __FUNCTION__ ); //FIXME: how shall playback handle this event???
if(sourceName)
g_free(sourceName);
}
g_error_free(inf);
break;
@@ -250,9 +253,14 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
case GST_MESSAGE_TAG:
{
GstTagList *tags, *result;
GstTagList *tags = NULL, *result = NULL;
gst_message_parse_tag(msg, &tags);
if(tags == NULL)
break;
if(!GST_IS_TAG_LIST(tags))
break;
result = gst_tag_list_merge(m_stream_tags, tags, GST_TAG_MERGE_REPLACE);
if (result)
{
@@ -388,8 +396,6 @@ GstBusSyncReply Gst_bus_call(GstBus *bus, GstMessage *msg, gpointer user_data)
default:
break;
}
if(sourceName)
g_free(sourceName);
return GST_BUS_DROP;
}
@@ -405,6 +411,8 @@ cPlayback::cPlayback(int num)
gst_version (&major, &minor, &micro, &nano);
gst_mpegts_initialize();
if (nano == 1)
nano_str = "(CVS)";
else if (nano == 2)
@@ -820,8 +828,10 @@ bool cPlayback::GetPosition(int &position, int &duration)
else
{
if(!gst_element_query_position(m_gst_playbin, fmt, &pts))
{
lt_info( "%s - %d failed\n", __FUNCTION__, __LINE__);
}
}
position = pts / 1000000.0;
// duration
GstFormat fmt_d = GST_FORMAT_TIME; //Returns time in nanosecs
@@ -843,21 +853,23 @@ bool cPlayback::SetPosition(int position, bool absolute)
{
lt_info("%s: pos %d abs %d playing %d\n", __func__, position, absolute, playing);
gint64 time_nanoseconds;
gint64 pos;
GstFormat fmt = GST_FORMAT_TIME;
GstState state;
if(m_gst_playbin)
{
if(first){
GstState state;
gst_element_get_state(m_gst_playbin, &state, NULL, GST_CLOCK_TIME_NONE);
if ( (state == GST_STATE_PAUSED) && first)
{
init_jump = position;
first = false;
return false;
}
}
gint64 time_nanoseconds;
gint64 pos;
GstFormat fmt = GST_FORMAT_TIME;
if (!absolute)
{
gst_element_query_position(m_gst_playbin, fmt, &pos);