Opened 13 years ago
Closed 12 years ago
Last modified 12 years ago
#11152 closed Bug Report - General (fixed)
In Frontend/PlayRecording format of startime passed to network control is not as network control expects
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | minor | Milestone: | 0.26.1 |
Component: | MythTV - General | Version: | 0.26 |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
http://192.168.0.3:6547/Frontend/PlayRecording?ChanId=9700&StartTime=2012-10-07T05:05:00Z
returns <bool>true</bool> but the recording does not play.
Frontend log gives Oct 7 11:49:48 bressay mythfrontend[19646]: I HttpServer59 services/frontend.cpp:132 (PlayRecording?) Frontend API: PlayRecording?, ChanID: 9700 StartTime?: 2012-10-07T05:05:00Z Oct 7 11:49:48 bressay mythfrontend[19646]: I CoreContext? playbackbox.cpp:3696 (processNetworkControlCommand) PlaybackBox?: NetworkControl?: Trying to PLAY program '9700' @ '20121007060500'
Using netcat play program 9700 2012007060500 gives ERROR: You are in playbackbox mode and this command is only for playback mode
play program 9700 2012-10-07T05:05:00Z gives ERROR: You are in playbackbox mode and this command is only for playback mode
but removing the 'Z' play program 9700 2012-10-07T05:05:00 works
My guess at what is happening( could be completely wrong!)
In services/frontend.cpp Frontend::PlayRecording?() builds the message as follows:
QString message = QString("NETWORK_CONTROL PLAY PROGRAM %1 %2 %3")
.arg(ChanID) .arg(starttime.toLocalTime().toString("yyyyMMddhhmmss")) .arg("12345");
In networkcontrol.cpp NetworkControl::processPlay() else if ((nc->getArgCount() >= 4) &&
(is_abbrev("program", nc->getArg(1))) && (nc->getArg(2).contains(QRegExp("
d+$"))) && (nc->getArg(3).contains(QRegExp("
d
d
d
d-
d
d-
d
dT
d
d:
d
d:
d
d$"))))
fails and we fall through to
else if (GetMythUI()->GetCurrentLocation?().toLower() != "playback")
{
return QString("ERROR: You are in %1 mode and this command is only "
"for playback mode") .arg(GetMythUI()->GetCurrentLocation?());
}
Attachments (1)
Change History (4)
Changed 13 years ago by
Attachment: | version.txt added |
---|
comment:1 Changed 13 years ago by
This issue began with MythTV 0.26. MythTV gives out datetime strings in the GetRecordedList? API, and inputting those same strings into the PlayRecording? API fails. Presumably, this was broken by the numerous refactorings and changes of internal handling of date and time between .25 and .26. MythTV should accept the date data it gives as input (as it does in all the other API calls). Only this one has been broken.
comment:2 Changed 12 years ago by
Owner: | set to Chris Pinkham <cpinkham@…> |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:3 Changed 12 years ago by
Milestone: | unknown → 0.26.1 |
---|
Version