Opened 13 years ago

Closed 13 years ago

Last modified 13 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@…> 13 years ago.
0045-TV-Disable-tuning-OSD-after-changing-channel-via-NET.patch (3.5 KB) - added by Lawrence Rust <lvr@…> 13 years ago.
0046-mheg-Use-a-shared-mutex-to-control-access-to-QWaitCo.patch (4.1 KB) - added by Lawrence Rust <lvr@…> 13 years ago.
0047-freemheg-Add-timeout-error-to-wait-for-file.patch (4.3 KB) - added by Lawrence Rust <lvr@…> 13 years ago.

Download all attachments as: .zip

Change History (7)

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

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

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

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

comment:1 Changed 13 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 13 years ago by Github

Milestone: unknown0.25
Resolution: fixed
Status: newclosed

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 13 years ago by paulh

Owner: set to paulh
Version: 0.24-fixesTrunk Head
Note: See TracTickets for help on using tickets.