Repository: xbmc/xbmc
File: xbmc/pvr/guilib/guiinfo/PVRGUIInfo.cpp (C++)

Code before:
        strValue = timer->ChannelIcon();
        return true;
      case LISTITEM_PVR_CLIENT_NAME:
        strValue = CServiceBroker::GetPVRManager().GetClient(timer->ClientID())->GetClientName();
        return true;
      case LISTITEM_PVR_INSTANCE_NAME:
        strValue = CServiceBroker::GetPVRManager().GetClient(timer->ClientID())->GetInstanceName();
        return true;
      case LISTITEM_EPG_EVENT_TITLE:
      case LISTITEM_EPG_EVENT_ICON:
      case LISTITEM_GENRE:
      case LISTITEM_PLOT:
      case LISTITEM_PLOT_OUTLINE:
      case LISTITEM_ORIGINALTITLE:
      case LISTITEM_YEAR:
      case LISTITEM_SEASON:
      case LISTITEM_EPISODE:
      case LISTITEM_EPISODENAME:
      case LISTITEM_EPISODEPART:
      case LISTITEM_DIRECTOR:
      case LISTITEM_CHANNEL_NUMBER:
      case LISTITEM_PREMIERED:
      case VIDEOPLAYER_PARENTAL_RATING:
      case VIDEOPLAYER_PARENTAL_RATING_CODE:
      case VIDEOPLAYER_PARENTAL_RATING_ICON:
      case VIDEOPLAYER_PARENTAL_RATING_SOURCE:
      case LISTITEM_PARENTAL_RATING:
      case LISTITEM_PARENTAL_RATING_CODE:
      case LISTITEM_PARENTAL_RATING_ICON:
      case LISTITEM_PARENTAL_RATING_SOURCE:
        break; // obtain value from channel/epg
      default:
        return false;
    }
  }

  const std::shared_ptr<const CPVRRecording> recording(item->GetPVRRecordingInfoTag());
  if (recording)
  {
    // Note: CPVRRecoding is derived from CVideoInfoTag. All base class properties will be handled
    //       by CVideoGUIInfoProvider. Only properties introduced by CPVRRecording need to be handled here.
    switch (info.m_info)
    {
      case LISTITEM_DATE:
        strValue = GetAsLocalizedDateTimeString(recording->RecordingTimeAsLocalTime());
        return true;
      case LISTITEM_STARTDATE:
        strValue = GetAsLocalizedDateString(recording->RecordingTimeAsLocalTime(), true);
        return true;
      case VIDEOPLAYER_STARTTIME:
      case LISTITEM_STARTTIME:

Review comment (bug):
This wrong. Please remove all four lines. First is already removed in latest master. Please rebase.
This sections is for timers only. Timers will never be played by the VideoPlayer. That's why here only LISTITEM_* makes sense.

Code after:
        strValue = timer->ChannelIcon();
        return true;
      case LISTITEM_PVR_CLIENT_NAME:
        strValue = CServiceBroker::GetPVRManager().GetClient(timer->ClientID())->GetClientName();
        return true;
      case LISTITEM_PVR_INSTANCE_NAME:
        strValue = CServiceBroker::GetPVRManager().GetClient(timer->ClientID())->GetInstanceName();
        return true;
      case LISTITEM_EPG_EVENT_TITLE:
      case LISTITEM_EPG_EVENT_ICON:
      case LISTITEM_GENRE:
      case LISTITEM_PLOT:
      case LISTITEM_PLOT_OUTLINE:
      case LISTITEM_ORIGINALTITLE:
      case LISTITEM_YEAR:
      case LISTITEM_SEASON:
      case LISTITEM_EPISODE:
      case LISTITEM_EPISODENAME:
      case LISTITEM_EPISODEPART:
      case LISTITEM_DIRECTOR:
      case LISTITEM_CHANNEL_NUMBER:
      case LISTITEM_PREMIERED:
      case LISTITEM_PARENTAL_RATING:
      case LISTITEM_PARENTAL_RATING_CODE:
      case LISTITEM_PARENTAL_RATING_ICON:
      case LISTITEM_PARENTAL_RATING_SOURCE:
        break; // obtain value from channel/epg
      default:
        return false;
    }
  }

  const std::shared_ptr<const CPVRRecording> recording(item->GetPVRRecordingInfoTag());
  if (recording)
  {
    // Note: CPVRRecoding is derived from CVideoInfoTag. All base class properties will be handled
    //       by CVideoGUIInfoProvider. Only properties introduced by CPVRRecording need to be handled here.
    switch (info.m_info)
    {
      case LISTITEM_DATE:
        strValue = GetAsLocalizedDateTimeString(recording->RecordingTimeAsLocalTime());
        return true;
      case LISTITEM_STARTDATE:
        strValue = GetAsLocalizedDateString(recording->RecordingTimeAsLocalTime(), true);
        return true;
      case VIDEOPLAYER_STARTTIME:
      case LISTITEM_STARTTIME:
        strValue = GetAsLocalizedTimeString(recording->RecordingTimeAsLocalTime());
        return true;
      case LISTITEM_ENDDATE:
        strValue = GetAsLocalizedDateString(recording->EndTimeAsLocalTime(), true);