Playback icons in v33

Have a MythTV related problem? Ask for help from other MythTV users here.

Moderator: Forum Moderators

Post Reply
white_haired_uncle
Senior
Posts: 265
Joined: Thu Feb 23, 2023 8:55 pm
Location: Safe outside my gilded cage
United States of America

Playback icons in v33

Post by white_haired_uncle »

mythfrontend version: fixes/33 [v33.1-12-gc4b7e4c433]

Lately I've noticed that the icons in Watch Recordings are pretty messed up (I'll be more specific in the future), both in the list for each recording and the help list. I made the mistake of trying to figure out the problem(s) for myself. It now being over 30 years since my C++ class, I'm a little over my head here. I've also been playing around with themes, really just trying to fix some things in MythCenter-wide that bug me, but I'm not that good at that either.

It looks like recorded-ui.xml handles the display, based on values provided by playbackbox.cpp, which come from SOMEWHERE and are set by SOMETHING.

My first thought on SOMEWHERE was the recordings table, and I think that's partially right. The things that work, and seem like they'd be pretty simple to keep straight as things change (like editing and transcoding), such as cutlist, commercial flagging, and autoexpire can all be found there. And recently, when I turned off autoexpire using mysql, the icons were immediately updated.

The things that don't work, like audioprops and videoprops, aren't in recorded. It looks like they are in recordedprogram. I have no idea where they come from (SOMETHING), so far the best clue I can find points to mythfilldatabase, which makes no sense since that wouldn't work with things like custom transcodes (and I don't remember seeing any of those update recordedprogram).

Can anyone explain in small words to me how this all works?

Here's one specific example, audio. I think I remember at one time seeing recordings with the surround icon set, but now I have none. Everything is just stereo or not (and not showing the mono icon), except for a handful of recordings which show Dolby Digital. The recordings with a DD icon, are only for ONE show, and only up to a certain recording time (which is right around when I upgraded from v30, switched from the old Schedules Direct method to the new one, and added a second filesystem to my Default storage group).

Code: Select all

MariaDB [mythconverg]> select unique audioprop from recordedprogram;
+--------------+
| audioprop    |
+--------------+
|              |
| STEREO       |
| STEREO,DOLBY |
+--------------+

Code: Select all

MariaDB [mythconverg]> select audioprop,title,subtitle,chanid,starttime  from recordedprogram where title like "Quantum Leap" and chanid=2081;
+--------------+--------------+-----------------------------+--------+---------------------+
| audioprop    | title        | subtitle                    | chanid | starttime           |
+--------------+--------------+-----------------------------+--------+---------------------+
| STEREO,DOLBY | Quantum Leap | July 13, 1985               |   2081 | 2022-09-20 02:00:00 |
| STEREO,DOLBY | Quantum Leap | Atlantis                    |   2081 | 2022-09-27 02:00:00 |
| STEREO,DOLBY | Quantum Leap | Somebody up There Likes Ben |   2081 | 2022-10-04 02:00:00 |
| STEREO,DOLBY | Quantum Leap | A Decent Proposal           |   2081 | 2022-10-11 02:00:00 |
| STEREO,DOLBY | Quantum Leap | What a Disaster!            |   2081 | 2022-10-25 02:00:00 |
| STEREO,DOLBY | Quantum Leap | O Ye of Little Faith        |   2081 | 2022-11-01 02:00:00 |
| STEREO,DOLBY | Quantum Leap | Stand by Ben                |   2081 | 2022-11-08 03:00:00 |
| STEREO,DOLBY | Quantum Leap | Salvation or Bust           |   2081 | 2022-11-15 03:00:00 |
| STEREO,DOLBY | Quantum Leap | Fellow Travelers            |   2081 | 2023-01-03 03:00:00 |
| STEREO,DOLBY | Quantum Leap | Leap. Die. Repeat.          |   2081 | 2023-01-31 03:00:00 |
| STEREO       | Quantum Leap | Family Style                |   2081 | 2023-02-28 03:00:00 |
| STEREO       | Quantum Leap | S.O.S.                      |   2081 | 2023-03-07 03:00:00 |
| STEREO       | Quantum Leap | Ben Song for the Defense    |   2081 | 2023-03-14 02:00:00 |
| STEREO       | Quantum Leap | Ben, Interrupted            |   2081 | 2023-03-21 02:00:00 |
| STEREO       | Quantum Leap | The Friendly Skies          |   2081 | 2023-03-28 02:00:00 |
| STEREO       | Quantum Leap | Judgment Day                |   2081 | 2023-04-04 02:00:00 |
+--------------+--------------+-----------------------------+--------+---------------------+

Code: Select all

hawkeye$ ffprobe /export/video/2081_20230131030000.mpg
Input #0, mpeg, from '/export/video/2081_20230131030000.mpg':
  Duration: 00:40:19.82, start: 0.391000, bitrate: 6942 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 320 kb/s
    Stream #0:2[0x81]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s (visual impaired)

Code: Select all

hawkeye$ ffprobe /export/video2/2081_20230228030000.mpg
Input #0, mpeg, from '/export/video2/2081_20230228030000.mpg':
  Duration: 00:45:05.44, start: 0.337833, bitrate: 7440 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 320 kb/s
    Stream #0:2[0x81]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s (visual impaired)
Both of these were transcoded within myth using a lossless profile to cut commercial, FWIW.

I don't see anything different between the two to to why they would show up differently in the db/gui.

I'm also a "little" unclear on how they should show.

1) Both have a surround audio stream and a stereo audio stream. For me, where I only care about one language, I'd say the "better" one should win?

2) All the audio streams shown are AC3, aka Dolby Digital. I have other recordings that are AC3, but no surround track. From what I understand, myth will (if working as intended) only show EITHER DD or Surround, although these two options are not mutually exclusive.

I've got some other, mostly similar, questions mostly about video, but I think I should save them for now.

Thanks
User avatar
bill6502
Developer
Posts: 2307
Joined: Fri Feb 07, 2014 5:28 pm
United States of America

Re: Playback icons in v33

Post by bill6502 »

No ideas here, but please mention your theme version. My MythCenter-wide is 1.10
(from frontend Settings -> Theme Chooser). Most of my recordings display Dolby
Digital (the D followed by a backwards D in a box) or the left/right facing speakers
over red and white circles.
white_haired_uncle
Senior
Posts: 265
Joined: Thu Feb 23, 2023 8:55 pm
Location: Safe outside my gilded cage
United States of America

Re: Playback icons in v33

Post by white_haired_uncle »

MC-w 1.10.

The icon you describe sounds like stereo ($prefix/share/mythtv/themes/default/stereo.png).

It sounds like you see about the same thing I do, except I have VERY few DD.

I did confirm that it is using the recordedprograms table, and that it seems it will only show one audio icon (which is not what it should do, IMO). I set recordedprograms.audioprogs to "SURROUND,DOLBY", and it showed up with the DD icon (only). I then set it to "SURROUND" and it showed the 5.1 icon. So:

1) It's using recordedprograms.

2) The info in recordedprograms is being translated and passed to the theme more or less correctly.

Therefore,

3) recordedprograms isn't being populated correctly.

and (and this is less important to me right now, I'm mostly interested in solving #3 first)

4) I don't think the data is being used correctly. Mono/stereo/surround and DD are different things, they shouldn't share a single icon. If we look at the theme,

Code: Select all

       <statetype name="audioprops">
            <position>1128,660</position>
            <showempty>yes</showempty>
            <state name="stereo">
                <imagetype name="stereo">
                    <filename>stereo.png</filename>
                </imagetype>
            </state>
            <state name="surround">
                <imagetype name="surround">
                    <filename>surround.png</filename>
                </imagetype>
            </state>
            <state name="dolby">
                <imagetype name="dolby">
                    <filename>dd.png</filename>
                </imagetype>
            </state>
            <state name="mono">
                <imagetype name="mono">
                    <filename>mono.png</filename>
                </imagetype>
            </state>
        </statetype>
Assuming the statename audioprops can have only one state, it seems to me that there should either be more states (mono, stereo, surround, dolbymono, dolbystereo, dolbysurround, and probably 7.1, 7.1dolby, states for this atmos thing etc). [And dolbysurround might need to be split up, I know there's Dolby Surround (Pro Logic), I don't know if there's any way to have Dolby + Surround that's not PL (or PL*)]. Or maybe remove state=dolby from audioprops, and add a statename=audiopropsdolby, or better yet (?) split audioprops into audiochannels and audiocodec. Yeah, I think splitting the channels and codec is the correct approach.

And then of course, there's...

5) A recording can have multiple audio tracks. No clue what to do about that.

Well, that went on a lot longer than I intended. And I didn't even get around to suggesting an icon for "visually impaired" audio tracks (or, as MC-w calls them, "Spanish; Castillian") which are really cool (and yes, I get the irony of suggesting a visual icon to indicate support for audio tracks for the visually impared).
User avatar
bill6502
Developer
Posts: 2307
Joined: Fri Feb 07, 2014 5:28 pm
United States of America

Re: Playback icons in v33

Post by bill6502 »

Most of mine are DD. I only have two with multiple props and they're from my PBS station. I'm using Steppes 34.0.

Mine come from XMLTV. The things parsed are done here: https://github.com/MythTV/mythtv/blob/m ... r.cpp#L560

Code: Select all

mysql> SELECT DISTINCT audioprop,COUNT(audioprop) FROM recordedprogram GROUP BY audioprop;
+--------------+------------------+
| audioprop    | COUNT(audioprop) |
+--------------+------------------+
| STEREO       |              118 |
|              |               61 |
| STEREO,DOLBY |                2 |
| DOLBY        |              381 |
+--------------+------------------+
Interesting comment about XMLTV here: https://github.com/garybuhrmaster/tv_gr ... lite#L2254
white_haired_uncle
Senior
Posts: 265
Joined: Thu Feb 23, 2023 8:55 pm
Location: Safe outside my gilded cage
United States of America

[Solved] Playback icons in v33

Post by white_haired_uncle »

Thank you. I need to look a little closer at what you've shared, but at least now I know what is going on and where to look.

I do have to wonder if getting some things from XML makes sense. Sure, you're parsing the data anyway, and it's right there for the taking, but it seems to me that it'd be more accurate to take things like audio and video details from the recorded image itself (guess I could do this with a user job at end of recording). This would also eliminate any restriction on availability of audio/video data, so that codec/resolution could be broken out properly. And from what I read recently, SD is not releasing ATSC3 data, so if users have to use the XMLID to cheese things to get the guide data, they'll be getting data that's not quite right somewhat regularly.
Post Reply