Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#5613 closed defect (fixed)

LCDServer doesn't show music info when MythMusic is first started

Reported by: thewbman@… Owned by: Isaac Richards
Priority: minor Milestone: unknown
Component: mythtv Version: 0.21-fixes
Severity: low Keywords: mythlcdserver
Cc: Ticket locked: no

Description

When going straight into music (MythWelcome? -> Music -> Play) the lcd server only shows the generic myth info (time/date) instead of switching over to music-specific info. If some other module that uses the lcd server is run first (TV, Video) than the lcd server shows the correct info on the music screen.

Change History (2)

comment:1 Changed 12 years ago by paulh

Resolution: fixed
Status: newclosed

(In [18245]) Fix a couple of problems with the LCD.

  1. Don't send any commands to mythlcdserver until we have a response to 'HELLO'. Refs #5421.
  1. Work around a problem with the LCD not always starting up properly. Refs #5648. Probably also fixes #5613.

The problem seems to be that if the readyread_thread is monitoring only one socket (the BE isn't running) then it can get into a state where it never wakes up to process a read. If another socket is added (the BE is started) or if it is forced to wake up then it starts to behave properly.

The hack is to Lock() and Unlock() the socket after the first write which is enough to get the readyready_thread working properly.

comment:2 Changed 12 years ago by paulh

(In [18246]) Merge [18245] from trunk.

Fix a couple of problems with the LCD.

  1. Don't send any commands to mythlcdserver until we have a response to 'HELLO'. Fixes #5421.
  1. Work around a problem with the LCD not always starting up properly. Fixes #5648. Probably also fixes #5613.

The problem seems to be that if the readyread_thread is monitoring only one socket (the BE isn't running) then it can get into a state where it never wakes up to process a read. If another socket is added (the BE is started) or if it is forced to wake up then it starts to behave properly.

The hack is to Lock() and Unlock() the socket after the first write which is enough to get the readyready_thread working properly.

Note: See TracTickets for help on using tickets.