From e2745458a09f4661ddf66824f2654ddf251a610a Mon Sep 17 00:00:00 2001 From: TangoCash Date: Fri, 27 Oct 2017 22:21:30 +0200 Subject: [PATCH 1/4] armbox: add video/audio pid Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/f31f21be0c54c24ed562f2f301e5c16c797f8856 Author: TangoCash Date: 2017-10-27 (Fri, 27 Oct 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 3c852be..19e9588 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -974,13 +974,18 @@ uint64_t cPlayback::GetReadCount() int cPlayback::GetAPid(void) { - lt_info("%s\n", __func__); - return mAudioStream; + gint current_audio = 0; + g_object_get (m_gst_playbin, "current-audio", ¤t_audio, NULL); + lt_info("%s: %d audio\n", __FUNCTION__, current_audio); + return current_audio; } int cPlayback::GetVPid(void) { - return 0; + gint current_video = 0; + g_object_get (m_gst_playbin, "current-video", ¤t_video, NULL); + lt_info("%s: %d video\n", __FUNCTION__, current_video); + return current_video; } int cPlayback::GetSubtitlePid(void) From ca16a957b041efada953982c72b47b35e2500f4f Mon Sep 17 00:00:00 2001 From: TangoCash Date: Fri, 27 Oct 2017 22:35:02 +0200 Subject: [PATCH 2/4] armbox: fix audio playback Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/f9e91b6b42b3b2fa6c458c163ca9e6a0a5fc8562 Author: TangoCash Date: 2017-10-27 (Fri, 27 Oct 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/audio.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libarmbox/audio.cpp b/libarmbox/audio.cpp index 36498e4..467f7ef 100644 --- a/libarmbox/audio.cpp +++ b/libarmbox/audio.cpp @@ -226,8 +226,8 @@ int cAudio::PrepareClipPlay(int ch, int srate, int bits, int little_endian) if ((!dsp_dev) || (access(dsp_dev, W_OK))) { if (dsp_dev) lt_info("%s: DSP_DEVICE is set (%s) but cannot be opened," - " fall back to /dev/dsp1\n", __func__, dsp_dev); - dsp_dev = "/dev/dsp1"; + " fall back to /dev/dsp\n", __func__, dsp_dev); + dsp_dev = "/dev/dsp"; } lt_info("%s: dsp_dev %s mix_dev %s\n", __func__, dsp_dev, mix_dev); /* NULL mix_dev is ok */ /* the tdoss dsp driver seems to work only on the second open(). really. */ From d2b6333f9b4bd8c5a6de774f0e401c33e34e6b61 Mon Sep 17 00:00:00 2001 From: TangoCash Date: Fri, 27 Oct 2017 22:40:16 +0200 Subject: [PATCH 3/4] armbox: fix audio playback #2 Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/cf816289986714b18c220777d6cc2a4c96a9ee3c Author: TangoCash Date: 2017-10-27 (Fri, 27 Oct 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/audio.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libarmbox/audio.cpp b/libarmbox/audio.cpp index 467f7ef..7cbe499 100644 --- a/libarmbox/audio.cpp +++ b/libarmbox/audio.cpp @@ -229,6 +229,12 @@ int cAudio::PrepareClipPlay(int ch, int srate, int bits, int little_endian) " fall back to /dev/dsp\n", __func__, dsp_dev); dsp_dev = "/dev/dsp"; } + if ((!mix_dev) || (access(mix_dev, W_OK))) { + if (mix_dev) + lt_info("%s: MIX_DEVICE is set (%s) but cannot be opened," + " fall back to /dev/mixer\n", __func__, dsp_dev); + mix_dev = "/dev/mixer"; + } lt_info("%s: dsp_dev %s mix_dev %s\n", __func__, dsp_dev, mix_dev); /* NULL mix_dev is ok */ /* the tdoss dsp driver seems to work only on the second open(). really. */ clipfd = open(dsp_dev, O_WRONLY); From d9b083e71ebe3876f70ed556d0b6553b965757dd Mon Sep 17 00:00:00 2001 From: TangoCash Date: Fri, 27 Oct 2017 23:38:20 +0200 Subject: [PATCH 4/4] fix coverart Origin commit data ------------------ Branch: master Commit: https://github.com/neutrino-images/ni-libstb-hal/commit/5509c8c0c6bbbb8fef05868b020d3d434e4473a2 Author: TangoCash Date: 2017-10-27 (Fri, 27 Oct 2017) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- libarmbox/playback_gst.cpp | 28 ++++++++++++++++++---------- libeplayer3/input.cpp | 2 +- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 19e9588..8b0b832 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -239,18 +239,23 @@ GstBusSyncReply Gst_bus_call(GstBus * bus, GstMessage *msg, gpointer user_data) if ( gv_image ) { GstBuffer *buf_image; - buf_image = gst_value_get_buffer (gv_image); + GstSample *sample; + sample = (GstSample *)g_value_get_boxed(gv_image); + buf_image = gst_sample_get_buffer(sample); int fd = open("/tmp/.id3coverart", O_CREAT|O_WRONLY|O_TRUNC, 0644); - if(fd >= 0) + if (fd >= 0) { - GstMapInfo Info; - gst_buffer_map(buf_image, &Info,(GstMapFlags)( GST_MAP_READ)); - int ret = write(fd, Info.data, Info.size); + guint8 *data; + gsize size; + GstMapInfo map; + gst_buffer_map(buf_image, &map, GST_MAP_READ); + data = map.data; + size = map.size; + int ret = write(fd, data, size); + gst_buffer_unmap(buf_image, &map); close(fd); - gst_buffer_unmap(buf_image, &Info); - lt_info_c( "%s:%s - GST_MESSAGE_INFO: cPlayback::state /tmp/.id3coverart %d bytes written\n", FILENAME, __FUNCTION__, ret); + lt_info_c("%s:%s - /tmp/.id3coverart %d bytes written ", FILENAME, __FUNCTION__, ret); } - //FIXME: how shall playback handle this event??? } gst_tag_list_free(tags); lt_debug_c( "%s:%s - GST_MESSAGE_INFO: update info tags\n", FILENAME, __FUNCTION__); //FIXME: how shall playback handle this event??? @@ -751,10 +756,13 @@ bool cPlayback::GetPosition(int &position, int &duration) if (audioSink || videoSink) { g_signal_emit_by_name(audioSink ? audioSink : videoSink, "get-decoder-time", &pts); - if (!GST_CLOCK_TIME_IS_VALID(pts)){ + if (!GST_CLOCK_TIME_IS_VALID(pts)) + { lt_info( "%s - %d failed\n", __FUNCTION__, __LINE__); } - }else{ + } + else + { if(!gst_element_query_position(m_gst_playbin, fmt, &pts)) lt_info( "%s - %d failed\n", __FUNCTION__, __LINE__); } diff --git a/libeplayer3/input.cpp b/libeplayer3/input.cpp index 19af03e..5c502a3 100644 --- a/libeplayer3/input.cpp +++ b/libeplayer3/input.cpp @@ -758,7 +758,7 @@ bool Input::GetMetadata(std::vector &keys, std::vector for(unsigned int i = 0; i < avfc->nb_streams; i++) { if (avfc->streams[i]->disposition & AV_DISPOSITION_ATTACHED_PIC) { AVPacket *pkt = &avfc->streams[i]->attached_pic; - FILE *cover_art = fopen("/tmp/cover.jpg", "wb"); + FILE *cover_art = fopen("/tmp/.id3coverart", "wb"); if (cover_art) { fwrite(pkt->data, pkt->size, 1, cover_art); fclose(cover_art);