Opened 12 years ago

Closed 11 years ago

Last modified 11 years ago

#10631 closed Bug Report - General (fixed)

MHEG doesn't work in Saorview (UK profile)

Reported by: Mossy <nosepam-mythtv@…> Owned by: stuartm
Priority: minor Milestone: 0.27
Component: MythTV - General Version: 0.25-fixes
Severity: medium Keywords:
Cc: Ticket locked: no

Description

None of the MHEG ITV keys, as specified on the MHEG wiki page, have any effect on channels in Saorview.

MHEG ITV works fine on BBC channels on Freesat.

Running "mythfrontend -v mheg" produces the following line in the log when I change to a Saorview channel (along with some MHEG data):

MHEG engine auto-boot failed

A sample recording from a Saorview recording can be found here (5 mins, 100MB): ​http://dl.dropbox.com/u/74461807/3001_20120419112034.mpg

Attachments (3)

mheg.log (40.1 KB) - added by Mossy <nosepam-mythtv@…> 12 years ago.
FE log (-v mheg)
saorview_mheg.patch (2.2 KB) - added by Mossy 11 years ago.
Fix Saorview MHEG problems
saorview_master_fix.patch (912 bytes) - added by Mossy <nosepam-mythtv@…> 11 years ago.
Fix for previous patch

Download all attachments as: .zip

Change History (18)

Changed 12 years ago by Mossy <nosepam-mythtv@…>

Attachment: mheg.log added

FE log (-v mheg)

comment:1 Changed 12 years ago by Mossy <nosepam-mythtv@…>

Note that the InputEventReg? value is "33" in the log. This seems odd because all other examples I have seen are either "3" or "4".

comment:2 Changed 11 years ago by stuartm

Milestone: unknown0.27
Owner: set to stuartm
Status: newaccepted

comment:3 Changed 11 years ago by stuartm

There are just five Input Event Register groups, 1-5, 1 and 2 aren't used in the UK profile leaving just 3,4,5

So 33 is completely bogus. Is Saorview consistently using 33 here?

I need to do some more debugging, see what the raw value given in the sample is and whether we're processing it incorrectly.

Last edited 11 years ago by stuartm (previous) (diff)

comment:4 Changed 11 years ago by stuartm

Looking at the sample and the error it generates, it's clear that the problem is more than the Input Event Register Group, the application is failing to boot. Perhaps because it's not using the same boot location as the ones we've hardcoded for mainland UK e.g. ~a or ~startup

I'll need to study the spec for a while longer to see what we're doing wrong. It may not be possible to get this fixed in time for 0.27

comment:5 Changed 11 years ago by stuartm

MHEG 1.06 states that

If an appropriate initial_object field can be identified from the ServiceContextList of the
ServiceGateway then the receiver shall first use this to locate the initial Application object.

If the initial_object field identifies a File object, this shall be the initial object.

If the initial_object field identifies a Directory object, the receiver shall use the default
names “a” and “startup”, in that order, to locate the initial Application object in this Direc-
tory object.

In other words, although we've hardcoded it to look in "a" and "startup", it's possible for the application to indicate an intial file object to be used instead. There is a half finished comment in the source to this effect:

        // UK MHEG applications boot from ~//a or ~//startup.  Actually the initial
        // object can also be explicitly given in the

Suggesting that Dave Matthews was aware of what the spec stated but simply never implemented it.

Changed 11 years ago by Mossy

Attachment: saorview_mheg.patch added

Fix Saorview MHEG problems

comment:6 Changed 11 years ago by nosepam-mythtv@…

In MHEngine::GenerateUserAction? the current scene is passed to EventTriggered? , but Saorview MHEG works if the current app is passed instead. This change does not seem to break BBC MHEG.

This is from MHEG-5 Broadcast Profile (ETSI ES 202 184), and I'm assuming there's something similar in the Corrigenda to the UK Profile (the Corrigenda doesn't seem to be available from dtg.org.uk any more).:

UniversalEngineProfile(N)

Receivers based on the present document but which have not been
verified as fully conformant shall not return true when N=1 285. Instead
they shall return true when N=2.

Saorview expects UEP(1285) to return true, MythTV returns true for UEP(2), but not UEP(1285).

Also there are bugs in MHText and MHLineArt.

comment:7 Changed 11 years ago by nosepam-mythtv@…

Patch is against fixes/0.26

comment:8 Changed 11 years ago by stuartm

Thank you Mossy!

I'd already spoken to David Matthews who did the original MHEG work and he was going to take a look at this ticket if he found time this weekend. I'll give him the opportunity to sign-off on the Input Event changes, the rest all seems good. There's a minor indentation issue with the MHText hunk of the patch, I can fix that when I apply it.

comment:9 Changed 11 years ago by Mossy <nosepam-mythtv@…>

Have you told him there's a patch? He might find it easier to allocate time to this task if he knows it won't take as long.

comment:10 Changed 11 years ago by stuartm

My comments about the failure to boot etc can be disregarded, that turned out to be a regression in master/0.27 caused by ffmpeg discarding DSMCC packets. It's now fixed.

With Mossy's patch applied, the sample provided still doesn't respond to key input, but I can confirm that it doesn't break Freeview/Freesat? mheg in any way that I could detect.

comment:11 Changed 11 years ago by stuartm

Resolution: Fixed
Status: acceptedclosed

Fixed in [04294d592418]

Changed 11 years ago by Mossy <nosepam-mythtv@…>

Attachment: saorview_master_fix.patch added

Fix for previous patch

comment:12 Changed 11 years ago by Mossy <nosepam-mythtv@…>

Resolution: Fixed
Status: closednew

Part of the code in the first patch was added to the wrong part of MHEngine::GenerateUserAction?. This is due to differences between master and fixes/0.26 where the patch was generated.

The second patch, generated against master, moves the code change to the correct location.

comment:13 Changed 11 years ago by Mossy <nosepam-mythtv@…>

Note: F7 (MENUTEXT) starts/stops MHEG on Saorview.

comment:14 Changed 11 years ago by Mossy <nosepam-mythtv@…>

Resolution: fixed
Status: newclosed

In c33c2dfb3f7219ee80ff0ab17e19e73b0522c3f5/mythtv:

Fix Saorview MHEG problems

Part of the code in the first patch was added to the wrong part of MHEngine::GenerateUserAction??. This is due to differences between master and fixes/0.26 where the patch was generated.

The second patch, generated against master, moves the code change to the correct location.

Fixes #10631

Signed-off-by: Stuart Morgan <smorgan@…>

comment:15 Changed 11 years ago by Mossy <nosepam-mythtv@…>

In a95f3b1fd1367d5d55c74ef72c7dc1e7bd419beb/mythtv:

Fix Saorview MHEG problems

Part of the code in the first patch was added to the wrong part of MHEngine::GenerateUserAction??. This is due to differences between master and fixes/0.26 where the patch was generated.

The second patch, generated against master, moves the code change to the correct location.

Fixes #10631

Signed-off-by: Stuart Morgan <smorgan@…>

Note: See TracTickets for help on using tickets.