Skip to main content

Spec clarification on "special" network interface.

5 replies [Last post]
tkooger
Offline
Joined: 2010-09-08
Points: 0

Looking at the DVR spec if I was to get the network interface that was associated what a currently tuned service context using the TimeShiftProperties.getNetworkInterface() and pass it false I would get the network interface as if I called DvbServiceContext.getNetworkInterface(). The spec mentions that if I passed true in to TimeShiftProperties.getNetworkInterface() I would get a "special" network interface only if I am running inside the DvbServiceContext how do I make sure that I am in this context and how would I tell that the network interface would be "special"?

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
cpratt
Offline
Joined: 2008-12-18
Points: 0

What this wording essentially means is that the special NetworkInterface can only be retrieved by bound applications (an application launched by and running within a time-shift-enabled ServiceContext which owns a NetworkInterface).

The purpose of this special NI is to allow time-shifted applications to retrieve time-shifted section data (via the org.davic.mpeg.section APIs), which is not currently supported in the RI.

tkooger
Offline
Joined: 2010-09-08
Points: 0

Since it is not supported in the RI, does that mean calling TimeShiftProperties.getNetworkInterface() with true or false will return the same NI?

cpratt
Offline
Joined: 2008-12-18
Points: 0

The RI returns "null" in this case, which conforms with to GEM ETSI TS 102 817 V1.1.1 section 7.2.2 (as required by the TimeShiftProperties.getNetworkInterface() documentation):

    [i]The method DvbServiceContext.getNetworkInterface shall return a special NetworkInterface as detailed below if all of the following apply:

    • the GEM recording terminal supports recording and playback of streams of MPEG-2 private sections including re-constructing their timing during playback;
    • the DvbServiceContext is in the presenting state;
    • either the selected service is a RecordedService or the selected service has a time-shift buffer associated with it.

    If any of these do not apply then this method shall return null.

[/i]

Since the RI doesn't currently support the "recording and playback of streams of MPEG-2 private sections including re-constructing their timing during playback", it doesn't meet the first requirement.

tkooger
Offline
Joined: 2010-09-08
Points: 0

Well the RI does not return NULL it does return a NI that is referenced in the NetworkManagers.getNetworkInterfaces()

cpratt
Offline
Joined: 2008-12-18
Points: 0

Yeah - guess I only answered the getNetworkInterface(true) question.

TimeShiftProperties.getNetworkInterface(false) will return the same NI as DvbServiceContext.getNetworkInterface().

TimeShiftProperties.getNetworkInterface(true) will return null on the RI (today).