From 69c351e03c716c8f96fa93b39d00a538e4884fd7 Mon Sep 17 00:00:00 2001 From: max_10 Date: Sun, 8 Oct 2017 16:51:10 +0200 Subject: [PATCH] armbox: Cosmetics replace spaces with tabs and delete unnecessary tabs Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/41083fe79e3af3838203b8329e117b57d6cfa78c Author: max_10 Date: 2017-10-08 (Sun, 08 Oct 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 252 ++++++++++++++++++++----------------- libarmbox/playback_gst.h | 8 +- 2 files changed, 139 insertions(+), 121 deletions(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 5e34d5c..a6bd3b6 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -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; diff --git a/libarmbox/playback_gst.h b/libarmbox/playback_gst.h index 25331bd..0b1ddd6 100644 --- a/libarmbox/playback_gst.h +++ b/libarmbox/playback_gst.h @@ -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