Modify
Warning Please read the Ticket HowTo before creating or commenting on a ticket. Failure to do so may cause your ticket to be rejected or result in a slower response.

Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#9867 closed Patch - Bug Fix (fixed)

[PATCH] libfreemheg: add MHEG LifecycleExtension from ETSI ES202-184 V2.1.1

Reported by: Lawrence Rust <lvr@…> Owned by: paulh
Priority: minor Milestone: 0.25
Component: MythTV - General Version: Master Head
Severity: medium Keywords: libmythfreemheg LifecycleExtension timeout
Cc: Ticket locked: no

Description

This series of patches update the MHEG library to support features currently used by the BBC interactive service. They allow browsing of the BBC's interactive sports channels (ideal for Wimbledon) and other interactive streams.

Patch 0044:

V2.1.1. This requires interpreting the tuneinfo from the SI_TuneIndexInfo
resident program, preserving the running application across the re-tune and
generating a NonDestructiveTuneOK EngineEvent? when the re-tune completes.
LifecycleExtension? is required to run the interactive content from the BBC
sports multiscreen stream.

  • Support SetData? of running stream elements
  • Bug fixes to DSMCC carousel handling.

Patch 0045:
This disables the tuning OSD display when changing channel via a MythEvent?. The intention is to provide a cleaner display for MHEG programs that change streams.

Patch 0046
Prevents spurious hangs in the mheg code when waiting for an absent file to arrive.

Patch 0047
Adds timeouts and EngineEvents? to all waits for carousel data. This prevents the MHEG interface hanging in the event of missing files.

Although the patches were designed for 0.24.1, they can, with the exception of 0046, be applied to git master. 0046 is already fixed in git master.

Attachments (4)

0044-freemheg-Support-BBCi-streams-eg-sports-multiscreen-.patch (70.2 KB) - added by Lawrence Rust <lvr@…> 3 years ago.
0045-TV-Disable-tuning-OSD-after-changing-channel-via-NET.patch (3.5 KB) - added by Lawrence Rust <lvr@…> 3 years ago.
0046-mheg-Use-a-shared-mutex-to-control-access-to-QWaitCo.patch (4.1 KB) - added by Lawrence Rust <lvr@…> 3 years ago.
0047-freemheg-Add-timeout-error-to-wait-for-file.patch (4.3 KB) - added by Lawrence Rust <lvr@…> 3 years ago.

Download all attachments as: .zip

Change History (7)

Changed 3 years ago by Lawrence Rust <lvr@…>

Changed 3 years ago by Lawrence Rust <lvr@…>

Changed 3 years ago by Lawrence Rust <lvr@…>

Changed 3 years ago by Lawrence Rust <lvr@…>

comment:1 Changed 3 years ago by Github

TV: Disable tuning OSD after changing channel via NETWORK_CONTROL CHANID

This disables the tuning OSD display when changing channel via a MythEvent?.
The intention is to provide a cleaner display for MHEG programs that change
streams. Refs #9867.

Signed-off-by: Paul Harrison <pharrison@…>

Branch: master
Changeset: 226d272eb82eb9d0079c017f8e00906eb925fe8d

comment:2 Changed 3 years ago by Github

  • Milestone changed from unknown to 0.25
  • Resolution set to fixed
  • Status changed from new to closed

freemheg: Support BBCi streams (eg sports multiscreen) using LifecycleExtension?

  • Add support for MHEG LifecycleExtension? as described in ETSI ES 202 184 V2.1.1. This requires interpreting the tuneinfo from the SI_TuneIndexInfo resident program, preserving the running application across the re-tune and generating a NonDestructiveTuneOK EngineEvent? when the re-tune completes. LifecycleExtension? is required to run the interactive content from the BBC sports multiscreen stream.
  • Support SetData? of running stream elements. This allows the stream source to be changed whilst it is live. Required for some BBCi MHEG e.g. returning from a fullscreen sports feed to the sports multiscreen.
  • Additional logging in freemheg around critical events.
  • Fix a bug in dsmcc that mis-matched file data blocks.
  • Drop dsmcc packets and ignore key presses if the MHEG engine terminates. This prevents a potential memory exhaustion bug.
  • Many more tests in dsmcc for correctly formatted blocks and detection of unexpected structures. Improved error handling in many functions.
  • Move some dsmcc logging to debug and increase the detail in important events. This quietens the constant stream of logging when dsmcc is enabled but shows the important events in better detail.
  • Add timeout error to wait for file. This fix adds timeouts and EngineEvents? to all waits for carousel data. This prevents the MHEG interface hanging in the event of missing files.

Closes #9867.

Signed-off-by: Paul Harrison <pharrison@…>

Branch: master
Changeset: 4d5e6ca9f392fd32469993aeb5e7d4b70de36a0d

comment:3 Changed 3 years ago by paulh

  • Owner set to paulh
  • Version changed from 0.24-fixes to Trunk Head

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'new'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.