Opened 12 years ago

Closed 8 years ago

#4967 closed enhancement (Won't Fix)

Add "Now Playing" support for DVB Radio

Reported by: Mark Buechler <Mark.Buechler@…> Owned by: Stuart Auchterlonie
Priority: minor Milestone: 0.25
Component: MythTV - DVB Version: head
Severity: medium Keywords:
Cc: Ticket locked: yes

Description

Some DVB radio providers use a private section stream to broadcast "Now Playing" information. This patch parses and displays that information. It is enabled from the OSD settings -> "Enable Now Playing" and has it's own OSD timeout setting as well.

Considering there is no 100% way of determining that the stream contains radio text information, there are several sanity check done. Hopefully nothing tragic will happen if it is enabled and the stream contains something different.

This is patch 1 of 2, the first against MythTV and the second against themes. I'll add the second patch in the coming days. For those eager to give this a try, add the following to your favorite OSD theme:

<container name="now_playing" fademovement="0,0">

<image name="background">

<filename>now_playing.png</filename> <position>90,74</position>

</image>

<textarea name="playing">

<area>290,100,240,220</area> <font>infofont</font> <multiline>yes</multiline>

</textarea>

</container>

And download the following graphic to your OSD theme's directory:

http://www.zshare.net/image/8949884e2e93bc/

Attachments (7)

nowplaying_16344.diff (18.9 KB) - added by Mark Buechler <Mark.Buechler@…> 12 years ago.
The patch.
nowplaying_16344.2.diff (18.8 KB) - added by Mark Buechler <Mark.Buechler@…> 12 years ago.
Minor cleanup.
nowplaying_16344.3.diff (20.1 KB) - added by Mark Buechler <Mark.Buechler@…> 12 years ago.
Set default proirity to 20, check text before using it in OSD::ResetNowPlaying?(), add default and blue OSD support
myththemes_r16344.diff (2.8 KB) - added by Mark Buechler <Mark.Buechler@…> 12 years ago.
Myththemes support
themes_r16344.diff (1.4 KB) - added by Mark Buechler <Mark.Buechler@…> 12 years ago.
themes module support
now_playing.png (82.6 KB) - added by Mark Buechler <Mark.Buechler@…> 12 years ago.
Now Playing graphic.
myth_radio_nowplaying.diff (22.0 KB) - added by anonymous 11 years ago.
updated for trunk. Will not work with 0.21-fixes.

Download all attachments as: .zip

Change History (22)

Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

Attachment: nowplaying_16344.diff added

The patch.

comment:1 Changed 12 years ago by danielk

Component: mythtvdvb
Owner: changed from Isaac Richards to danielk
Status: newassigned

Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

Attachment: nowplaying_16344.2.diff added

Minor cleanup.

Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

Attachment: nowplaying_16344.3.diff added

Set default proirity to 20, check text before using it in OSD::ResetNowPlaying?(), add default and blue OSD support

Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

Attachment: myththemes_r16344.diff added

Myththemes support

Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

Attachment: themes_r16344.diff added

themes module support

Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

Attachment: now_playing.png added

Now Playing graphic.

comment:2 Changed 12 years ago by Mark Buechler <Mark.Buechler@…>

Updated patch with small cleanups and one remaining check. Included patches for all themes in trunk and a default graphic to use for them all. Graphic borrowed from "blootube-wide" theme with permission from Justin Hornsby.

comment:3 Changed 11 years ago by anonymous

updated patch attached for trunk. This version will not work with 0.21-fixes.

Changed 11 years ago by anonymous

Attachment: myth_radio_nowplaying.diff added

updated for trunk. Will not work with 0.21-fixes.

comment:4 Changed 11 years ago by daporp@…

I am unable to compile myth 0.21 fixes with nowplaying_16344.3.diff I applied the patch using: patch -p1 -F99 < nowplaying_16344.3.diff which appeared to apply correctly with a little fuzz, but I get the following compile error:

ccache g++ -c -pipe -g -march=pentiumpro -fomit-frame-pointer -O3 -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -Wno-non-virtual-dtor -DSTDC_CONSTANT_MACROS -I/usr/include/kde/artsc -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/directfb -D_REENTRANT -I/usr/include/freetype2 -D_REENTRANT -DPIC -fPIC -DMMX -Di386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DUSING_OSS -DUSING_H264TOOLS -DUSING_DIRECTFB -DUSING_X11 -DUSING_XV -DUSING_XVMC -DUSING_XVMCW -DUSING_XVMC_VLD -DUSING_OPENGL -DUSING_FRONTEND -DUSING_FFMPEG_THREADS -DUSING_V4L -DUSING_LINUX_FIREWIRE -DUSING_FIREWIRE -DUSING_LIBAVC_5_3 -DUSING_DBOX2 -DUSING_IPTV -DUSING_HDHOMERUN -DUSING_IVTV -DUSING_DVB -DUSING_BACKEND -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I../../../../../include -I../../../../../../include -I../.. -I.. -I. -I../libmyth -I../libavcodec -I../libavutil -I../libmythmpeg2 -Idvbdev -Impeg -Iiptv -I../libmythlivemedia/BasicUsageEnvironment/include -I../libmythlivemedia/groupsock/include -I../libmythlivemedia/liveMedia/include -I../libmythlivemedia/UsageEnvironment/include -I../../../../../../include/qt3 -I/usr/X11R6/include -I/usr/X11R6/include -o NuppelVideoPlayer?.o NuppelVideoPlayer?.cpp In file included from ../libmythui/mythuitype.h:6,

from ../libmythui/mythmainwindow.h:13, from ../libmyth/mythdialogs.h:52, from ../libmyth/dialogbox.h:7, from NuppelVideoPlayer?.cpp:32:

../../../../../../include/qt3/qimage.h: In member function âbool QImageTextKeyLang::operator<(const QImageTextKeyLang&) constâ:

../../../../../../include/qt3/qimage.h:61: warning: suggest parentheses around && within

In file included from NuppelVideoPlayer?.cpp:48: avformatdecoder.h: At global scope: avformatdecoder.h:191: error: âvoid AvFormatDecoder::ProcessPrivSecDataPacket?(const AVPacket*)â cannot be overloaded avformatdecoder.h:190: error: with âvoid AvFormatDecoder::ProcessPrivSecDataPacket?(const AVPacket*)â NuppelVideoPlayer?.cpp: In member function âconst QImage& NuppelVideoPlayer::GetARGBFrame(QSize&)â: NuppelVideoPlayer?.cpp:1594: warning: integer overflow in expression NuppelVideoPlayer?.cpp: In member function âvoid NuppelVideoPlayer::OutputVideoLoop?()â: NuppelVideoPlayer?.cpp:2788: warning: deprecated conversion from string constant to âchar*â NuppelVideoPlayer?.cpp: In member function âvoid NuppelVideoPlayer::DisplayNowPlaying?()â: NuppelVideoPlayer?.cpp:6919: warning: unused variable âiâ make[2]: * [NuppelVideoPlayer?.o] Error 1 make[2]: Leaving directory `/usr/local/src/release-0-21-fixes/mythtv/libs/libmythtv' make[1]: * [sub-libmythtv] Error 2 make[1]: Leaving directory `/usr/local/src/release-0-21-fixes/mythtv/libs' make: * [sub-libs] Error 2

Any ideas on what needs to be changed? Thanks.

comment:5 Changed 11 years ago by danielk

Owner: changed from danielk to Stuart Auchterlonie

comment:6 Changed 11 years ago by Stuart Auchterlonie

Milestone: unknown0.22

This patch touches libavformat/mpegts.c and we have currently commented out

case STREAM_TYPE_PRIVATE_DATA

as a bugfix for a different bug. Until that is resolved this can't be applied.

comment:7 Changed 10 years ago by stuartm

Milestone: 0.220.23

comment:8 Changed 10 years ago by stuartm

Component: dvbMythTV - DVB

comment:9 Changed 10 years ago by paulh

Milestone: 0.230.24

stuarta is your comment above still true?

comment:10 Changed 10 years ago by Stuart Auchterlonie

It would appear so. Although i would personally like to see the private data stream parsing in mpegts.c uncommented and revisit the other bug (which i've no idea what number it is) that caused the code to be commented out in the first place.

I vaguely recall it's due to the fact that we've seen videos that have a proper video stream, then this private data stream id code "finds" another video stream, which leads to us having a video with 2 video streams and all hell breaks loose.

If that was the case, then the correct solution is to either

  1. tighten up the identification of video streams in private data

streams.

  1. Only treat a private data stream as a video stream if there

isn't another video stream present.

Stuart

comment:11 Changed 9 years ago by stuartm

Milestone: 0.240.25

There is no chance of this going in before 0.25, it needs updating for the mythui port of the osd and we're already past the 0.24 feature freeze.

comment:12 Changed 9 years ago by stuartm

Milestone: 0.25

Milestone 0.25 deleted

comment:13 Changed 9 years ago by aforbes@…

Is this feature actually going to go in any time soon? It's been in the queue for over 3 years now and it's a feature that myself, as well as many others would love to see. :)

comment:14 Changed 9 years ago by robertm

Ticket locked: set

Please read the ticket howto-- your comment adds *nothing* to the discussion. If you want to see it in the next release, please consider updating it to work on current trunk. That will greatly increase the likelihood that someone will look at it. As it stands, it will likely need a ground-up rewrite simply by virtue of all the code that has been changed in the last few years.

Ticket locked. If you have a patch to add, you can request an unlock on the dev list.

comment:15 Changed 8 years ago by robertm

Resolution: Won't Fix
Status: assignedclosed

Closing this ticket as "dead on the vine." It has been open with no attention and no update for literally years. Maybe being the jerk and closing it will cause everyone to spring into action. :)

In short, the patch doesn't apply, it would need massive updating, and it had fundamental problems to begin with.

Note: See TracTickets for help on using tickets.