Skip to main content

AlternativeContentErrorEvent when tuning to already tuned service

3 replies [Last post]
steve_wadsworth
Offline
Joined: 2010-07-14

In release 1.1.4 C we are seeing a AlternativeContentErrorEvent when trying to tune to a service that is already tuned.

(Log edited for line length)

RI.Stack- 221625 [pool-11] INFO selection.ServiceContextImpl - delegate callback - presenting - reason 0:
RI.Stack- 221650 [pool-11] INFO selection.ServiceContextImpl - received presenting in PRESENTING_PENDING:
RI.Stack- 221671 [pool-11] INFO selection.ServiceContextImpl - setting state to PRESENTING:
RI.Stack- 221683 [pool-11] INFO selection.ServiceContextImpl - posting NormalContentEvent:
RI.Stack- 221713 [Thread-26] INFO selection.ServiceContextImpl - select service (PRESENTING)
RI.Stack- 221739 [System-1] INFO selection.ServiceContextImpl - select called in PRESENTING:
RI.Stack- 221750 [System-1] INFO selection.ServiceContextImpl - already presenting service - not stopping delegate before initiating selection with possibly new locators:
RI.Stack- 221771 [System-1] INFO selection.ServiceContextImpl - setting state to PRESENTING_PENDING:
RI.Stack- 221782 [System-1] INFO selection.DVRBroadcastServiceContextDelegate - present - new service:
RI.GStreamer- gstmpegdecoder.c gst_mpeg_decoder_event:413 Received NEWSEGMENT event.
RI.Stack- 221807 [System-1] INFO selection.ServiceContextImpl - delegate callback - presenting - reason 1:
RI.Stack- 221822 [System-1] INFO selection.ServiceContextImpl - received presenting in PRESENTING_PENDING:
RI.Stack- 221843 [System-1] INFO selection.ServiceContextImpl - setting state to PRESENTING:
RI.Stack- 221854 [System-1] INFO selection.ServiceContextImpl - posting AlternativeContentErrorEvent - reason 1:

Looking at the code, it appears that SVN r10409 introduced a new reason code in ServiceContextDelegateListener of NO_CHANGE and the ServiceContextDelegateListenerImpl (in ServiceContextImpl.java) presenting() state machine was updated to handle this in the STATE_PRESENTING state, but not in the STATE_PRESENTING_PENDING state.

Am I right in thinking an extra test needs to be added simillar to the one added to the STATE_PRESENTING state?

@line 1577 (Sorry, the forum messes up the formatting)
else if (ServiceContextDelegateListener.NO_CHANGE == alternativeContentErrorEventReasonCode)
{
if (lastPresentingCode == ServiceContextDelegateListener.NORMAL_PRESENTATION)
{
if (Logging.LOGGING)
{
log.info("No change. re-posting NormalContentEvent: " + getDiagnosticInfo());
}
postEvent(new NormalContentEvent(ServiceContextImpl.this));
}
}

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
scottdeboy
Offline
Joined: 2009-02-02

Yes, please file an IT issue.

Thanks

Scott

scottdeboy
Offline
Joined: 2009-02-02

Yes, you are correct - the check also needs to be made in the PENDING state.

I'll commit a fix for that today.

Scott

steve_wadsworth
Offline
Joined: 2010-07-14

Should I raise an IT or have you done it already?