|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jmythapi.protocol.impl.Recorder
public class Recorder
An implementation of IRecorder
.
Constructor Summary | |
---|---|
Recorder(IBackendConnection mythtvConnection,
int recorderId)
|
Method Summary | ||
---|---|---|
IRingBuffer |
annotateRingBuffer()
Deprecated. 20 |
|
boolean |
cancelNextRecording(Boolean cancel)
Tells the recorder to cancel or continue the next recording. |
|
Integer |
changeBrightness(boolean up)
Changes the brightness of a recording. |
|
Integer |
changeBrightness(EPictureAdjustmentType adjustmentType,
boolean up)
Changes the brightness value. |
|
boolean |
changeChannel(EChannelChangeDirection direction)
Changes to the next or previous channel. |
|
boolean |
changeChannel(int direction)
Changes to the next or previous channel. |
|
Integer |
changeColour(boolean up)
Changes the colour of a recording. |
|
Integer |
changeColour(EPictureAdjustmentType adjustmentType,
boolean up)
Changes the colour value. |
|
Integer |
changeContrast(boolean up)
Changes the contrast of a recording. |
|
Integer |
changeContrast(EPictureAdjustmentType adjustmentType,
boolean up)
Changes the contrast value. |
|
Integer |
changeHue(boolean up)
Changes the hue value of a recording. |
|
Integer |
changeHue(EPictureAdjustmentType adjustmentType,
boolean up)
Changes the hue value. |
|
boolean |
checkChannel(String channelNumber)
Checks if named channel exists on current tuner. |
|
IRecorderChannelPrefixStatus |
checkChannelPrefix(String channelNumberPrefix)
Checks a channel-number prefix against the channels in the MythTV-DB. |
|
protected Object |
clone()
Creates a copy of this recorder. |
|
void |
close()
Closes the current recorder connection. |
|
Map<Long,Long> |
fillDurationMap(long start,
long end)
|
|
Map<Long,Long> |
fillPositionMap(long startFrameNr,
long endFrameNr)
Returns the keyframe position map. |
|
boolean |
finishRecording()
Tells the recorder to stop recording, but only after "overrecord" seconds. |
|
|
getBasicChannelInfos()
Gets a list of all known channels. |
|
Integer |
getBrightness()
Gets the brightness of a recording. |
|
RecorderChannelInfo |
getChannelInfo(IBasicChannelInfo channelInfo)
Gets detailed informations about the given channel. |
|
RecorderChannelInfo |
getChannelInfo(Integer chanID)
Gets informations about the given channel. |
|
List<IRecorderChannelInfo> |
getChannelInfos()
Gets a list of all known channels. |
|
Map<Integer,IRecorderNextProgramInfo> |
getChannelsNextProgramInfoMap(Date startTime)
Gets a map containing the next programs of all channels. |
|
Integer |
getColour()
Gets the colour of a recording. |
|
List<String> |
getConnectedInputs()
Deprecated. 37 |
|
Integer |
getContrast()
Gets the contrast of a recording. |
|
|
getCurrentChannel()
Gets the currently active channel of the recorder. |
|
IProgramInfo |
getCurrentRecording()
Returns the recorders current recording. |
|
long |
getFilePosition()
Returns the total number of bytes written by the recorder. |
|
float |
getFrameRate()
Returns the recording frame rate. |
|
long |
getFramesWritten()
Returns the number of frames written to disk. |
|
IFreeInputList |
getFreeInputs()
Gets all free inputs of the recorder. |
|
Integer |
getHue()
Gets the hue of a recording. |
|
String |
getInput()
Gets the name of the current recorder input. |
|
String |
getInputName()
Deprecated. 21 |
|
long |
getKeyframePosition(long frameNumber)
Returs the byte position for the given frame number. |
|
long |
getMaxBitrate()
Gets the maximum bitrate a recorder can output. |
|
IRecorderNextProgramInfo |
getNextProgramInfo(IBasicChannelInfo channelInfo,
EChannelBrowseDirection direction,
Date startTime)
Gets the next program on the specified channel. |
|
RecorderNextProgramInfo |
getNextProgramInfo(String channelNumber,
Integer channelID,
EChannelBrowseDirection direction,
Date startTime)
Gets the next program on the specified channel. |
|
List<IRecorderNextProgramInfo> |
getNextProgramInfos(Date startTime)
Gets a list containing the next programs of all channels. |
|
IRecorderProgramInfo |
getProgramInfo()
Deprecated. 21 |
|
int |
getRecorderID()
Gets the id of this recorder |
|
ProgramInfo |
getRecording()
Returns the recorders current recording. |
|
IRemoteEncoder |
getRemoteEncoder()
Gets the remote-encoder object. |
|
ProtocolVersion |
getVersionNr()
Gets the protocol-version of an object. |
|
boolean |
isRecording()
Checks if the recorder is actually recording. |
|
boolean |
pause()
Tells the recorder to pause a recorder. |
|
boolean |
setChannel(String channelNumber)
Changes to a named channel on the current tuner. |
|
boolean |
setInput(String inputName)
Tells the recorder to change to the specified input. |
|
boolean |
setLiveTvRecording()
Tells the recorder to keep a LiveTV recording. |
|
boolean |
setNextLiveTvDirectory(String path)
Changes LiveTV recording directory. |
|
int |
setSignalMonitoringRate(int rate,
boolean notifyFrontend)
Sets the signal monitoring rate. |
|
boolean |
setupRingBuffer(boolean pictureInPicture)
Deprecated. 20 |
|
boolean |
shouldSwitchCard(Integer channelID)
Checks if named channel exists on current tuner, or another tuner. |
|
boolean |
signalFrontendReady()
Tells the recorder that the frontend is up and ready. |
|
boolean |
spawnLiveTV()
Tells the recorder to start a "Live TV" recording. |
|
boolean |
spawnLiveTV(boolean pictureInPicture,
IRecorderChannelInfo recorderChannelInfo)
Tells the recorder to start a "Live TV" recording. |
|
boolean |
spawnLiveTV(boolean pictureInPicture,
String channelNumber)
Tells the recorder to start a "Live TV" recording. |
|
boolean |
stopLiveTv()
Tells the recorder to stop a "Live TV" recording. |
|
boolean |
stopPlaying()
Deprecated. 20 |
|
String |
switchToNextInput()
Tells the recorder to switch to the next input. |
|
boolean |
toggleChannelFavorite()
Adds or removes the current channel from the favorite channel list. |
|
boolean |
toggleChannelFavorite(String channelGroup)
Adds or removes the current channel to or from the given channel group. |
|
boolean |
toggleInputs()
Tells the recorder to change to the next input. |
|
String |
toString()
|
|
long |
waitForFramesWritten(long desiredFrames)
Wait for number of frames written. |
|
boolean |
waitForIsRecording(long timeoutMs)
Wait for recording. |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public Recorder(IBackendConnection mythtvConnection, int recorderId)
Method Detail |
---|
protected Object clone() throws CloneNotSupportedException
clone
in class Object
CloneNotSupportedException
public void close() throws IOException
IRecorder
close
in interface Closeable
close
in interface IRecorder
IOException
- on communication errorspublic ProtocolVersion getVersionNr()
IVersionable
getVersionNr
in interface IVersionable
public int getRecorderID()
IRecorder
getRecorderID
in interface IRecorder
public IRemoteEncoder getRemoteEncoder()
IRecorder
getRemoteEncoder
in interface IRecorder
public boolean signalFrontendReady() throws IOException
IRecorder
This is required e.g. if the backend needs to transmit the ASK_RECORDING
message to the frontend.
signalFrontendReady
in interface IRecorder
true
if the recorder respond with OK
IOException
- on communication errorsQUERY_RECORDER_FRONTEND_READY
public boolean stopPlaying() throws IOException
IRecorder
IRecorder.stopLiveTv()
to stop streaming live TV.
stopPlaying
in interface IRecorder
true
on success.
IOException
- on communication errors.QUERY_RECORDER_STOP_PLAYING
public boolean spawnLiveTV() throws IOException
IRecorder
IRecorder.stopLiveTv()
to stop streaming live TV.
spawnLiveTV
in interface IRecorder
true
if the recorder respond with OK
IOException
- on communication errorsIRecorder.spawnLiveTV(boolean, String)
,
QUERY_RECORDER_SPAWN_LIVETV
public boolean spawnLiveTV(boolean pictureInPicture, IRecorderChannelInfo recorderChannelInfo) throws IOException
IRecorder
IRecorder.stopLiveTv()
to stop streaming live TV.
spawnLiveTV
in interface IRecorder
pictureInPicture
- specifies if picture in picture should be used. (Since 20).recorderChannelInfo
- the channel to swith the recorder to. (Since 34).
true
if the backend returned OK
.
IOException
- on communication errors.IRecorder.spawnLiveTV(boolean, String)
public boolean spawnLiveTV(boolean pictureInPicture, String channelNumber) throws IOException
IRecorder
IRecorder.annotateRingBuffer()
to get access to this ringbuffer.
If this function is called prior to 34, IRecorder.setChannel(String)
is used to switch to the desired channel.
spawnLiveTV
in interface IRecorder
pictureInPicture
- specifies if picture in picture should be used. (Since 20).channelNumber
- the channel number to switch to. (Since 34).
true
if the backend returned OK
.
IOException
- on communication errorsIMythCommand.QUERY_RECORDER_SETUP_RING_BUFFER
public boolean stopLiveTv() throws IOException
IRecorder
IRecorder.spawnLiveTV()
to start playing Live TV.
stopLiveTv
in interface IRecorder
true
if the recorder returned OK
.
IOException
- on communication errors.public boolean setupRingBuffer(boolean pictureInPicture) throws IOException
IOException
public IRingBuffer annotateRingBuffer() throws IOException
IRecorder
annotateRingBuffer
in interface IRecorder
true
if the recorder respond with OK
IOException
- on communication errorsANN_RING_BUFFER
public boolean waitForIsRecording(long timeoutMs) throws IOException, InterruptedException
IRecorder
Checks if the recorder is actually recording until recording has been started or the timeout has reached.
waitForIsRecording
in interface IRecorder
timeoutMs
- the timeout in ms
true
if the recorder is currently recording
IOException
- on communication errors
InterruptedException
- if the thread was interruptedpublic boolean isRecording() throws IOException
IRecorder
IRecorder.waitForIsRecording(long)
if you need to wait till the recorder is recording.
isRecording
in interface IRecorder
true
if the recorder is currently recording.
IOException
- on communication errorsQUERY_RECORDER_IS_RECORDING
public boolean finishRecording() throws IOException
IRecorder
finishRecording
in interface IRecorder
true
if the recorder returned OK
IOException
- on communication errorsQUERY_RECORDER_FINISH_RECORDING
public boolean setLiveTvRecording() throws IOException
IRecorder
setLiveTvRecording
in interface IRecorder
true
if the backend returned OK
IOException
- on communication errorsQUERY_RECORDER_SET_LIVE_RECORDING
public ProgramInfo getRecording() throws IOException
IRecorder
null
on live-tv recordings.
getRecording
in interface IRecorder
null
if the
recorder is currently not recording.
IOException
- on communication errorsQUERY_RECORDER_GET_RECORDING
public IProgramInfo getCurrentRecording() throws IOException
IRecorder
IRecorder.isRecording()
if this recorder is busy and if it is not, it just returns null
.
getCurrentRecording
in interface IRecorder
null
if the recorder
is currently not recording.
IOException
- on communication errorsQUERY_RECORDER_GET_CURRENT_RECORDING
public IRecorderProgramInfo getProgramInfo() throws IOException
IRecorder
This returns information about the program that could be seen on the current channel of the recorder.
getNextProgramInfo
is used to fetch the information.
getProgramInfo
in interface IRecorder
IOException
- on communication errorsQUERY_RECORDER_GET_PROGRAM_INFO
public IRecorderNextProgramInfo getNextProgramInfo(IBasicChannelInfo channelInfo, EChannelBrowseDirection direction, Date startTime) throws IOException
IRecorder
This returns information about the program that would be seen, if we changed the channel using the given direction.
SAME
to query the program on the given channel.
But if SAME
is used, the channel-info must not be null
,
otherwise the backend will fallback to the first available channel.
getNextProgramInfo
in interface IRecorder
channelInfo
- the channel to start browsing.direction
- the direction to browse.startTime
- the starting time that should be used for the query
IOException
- on communication errorsQUERY_RECORDER_GET_NEXT_PROGRAM_INFO
public RecorderNextProgramInfo getNextProgramInfo(String channelNumber, Integer channelID, EChannelBrowseDirection direction, Date startTime) throws IOException
IRecorder
This returns information about the program that would be seen, if we changed the channel using the given direction.
SAME
to query the program on the given channel.
But if SAME
is used, the channel-info must not be null
,
otherwise the backend will fallback to the first available channel.
getNextProgramInfo
in interface IRecorder
channelNumber
- the number of the channel to start browsingchannelID
- the id of the channeldirection
- the direction to browse.startTime
- the starting time that should be used for the query
IOException
- on communication errorsQUERY_RECORDER_GET_NEXT_PROGRAM_INFO
public List<IRecorderNextProgramInfo> getNextProgramInfos(Date startTime) throws IOException
IRecorder
This function internally uses IRecorder.getChannelsNextProgramInfoMap(Date)
.
IRecorder recorder = ...; // an already connected recorder // query all currently distributed programs List<IRecorderNextProgramInfo> nextPrograms = recorder.getNextProgramInfos(null); for(IRecorderNextProgramInfo nextProgram : nextPrograms) { // skipping invalid programs if(!nextProgram.isValid()) continue; // print program info System.out.println(String.format( "%1$tF %1$tT | %2$tF %2$tT | %3$3d min | %4$5s | %5$s", nextProgram.getStartDateTime(), nextProgram.getEndDateTime(), nextProgram.getDuration(), nextProgram.getChannelSign(), nextProgram.getFullTitle() )); }
2012-01-01 14:55:01 | 2012-01-01 16:30:01 | 95 min | PRO7 | Sind wir endlich fertig? 2012-01-01 15:10:01 | 2012-01-01 16:40:01 | 90 min | ARD | Sterne über dem Eis 2012-01-01 13:45:01 | 2012-01-01 17:05:01 | 200 min | ZDF | ZDF SPORTextra 2012-01-01 15:10:01 | 2012-01-01 18:45:01 | 215 min | RTL | Die ultimative Chart Show - Die erfolgreichsten Hits des Jahres 2011 2012-01-01 14:10:01 | 2012-01-01 15:45:01 | 95 min | SAT.1 | Die Schöne und das Biest 2012-01-01 14:45:01 | 2012-01-01 15:30:01 | 45 min | BR3 | Als die Fremden kamen - Vom Winterurlaub in Tirol 2012-01-01 14:45:01 | 2012-01-01 15:30:01 | 45 min | SWBW | Neues aus dem Glottertal 2012-01-01 13:55:01 | 2012-01-01 15:50:01 | 115 min | ORF1 | FIS Weltcup Skispringen - HS 140 - Das Springen 2012-01-01 15:15:01 | 2012-01-01 17:00:01 | 105 min | ORF2 | Die Zürcher Verlobung 2012-01-01 14:45:01 | 2012-01-01 16:00:01 | 75 min | 3SAT | Willi und die Wunder dieser Welt 2012-01-01 14:30:01 | 2012-01-01 16:05:01 | 95 min | KABE1 | Legende 2012-01-01 15:15:01 | 2012-01-01 16:30:01 | 75 min | SUPRT | Cosmo & Wanda - Wenn Elfen helfen: Alltagshelden - Die Alltagshelden 2012-01-01 14:35:01 | 2012-01-01 16:15:01 | 100 min | VOX | Nine Months 2012-01-01 15:15:01 | 2012-01-01 16:55:01 | 100 min | RTL2 | Der Todes-Twister 2012-01-01 14:55:01 | 2012-01-01 15:40:01 | 45 min | ARTE | Naturparadiese Afrikas - Äthiopien - Land der Extreme 2012-01-01 13:40:01 | 2012-01-01 15:20:01 | 100 min | ATV+ | Nach Ansage 2012-01-01 14:45:00 | 2012-01-01 16:30:00 | 105 min | PULS4 | Louis' unheimliche Begegnung mit den Außerirdischen
getNextProgramInfos
in interface IRecorder
startTime
- the start time. if this is null
the current date is used.
IOException
- on communication errorsQUERY_RECORDER_GET_NEXT_PROGRAM_INFO
public Map<Integer,IRecorderNextProgramInfo> getChannelsNextProgramInfoMap(Date startTime) throws IOException
IRecorder
This returns a map containing the channel-id as key and recorder-next-program info as value.
This method uses IRecorder.getNextProgramInfo(String, Integer, EChannelBrowseDirection, Date)
to loop
through all channels and to fetch the current channel program.
getChannelsNextProgramInfoMap
in interface IRecorder
IOException
- on communication errorspublic <C extends IBasicChannelInfo> List<C> getBasicChannelInfos() throws IOException
IRecorder
IBasicChannelInfo
object is returned, otherwise an IRecorderChannelInfo
object is returned.
IRecorder recorder = ...; // an already connected recorder // getting all available channel List<IBasicChannelInfo> channels = recorder.getBasicChannelInfos(); System.out.println(String.format( "Id | Nr | Sign " )); for(IBasicChannelInfo channel : channels) { System.out.println(String.format( "%04d | %3s | %s", channel.getChannelID(),channel.getChannelNumber(), channel.getChannelSign() )); }
Id | Nr | Sign 1063 | 1 | PRO7 1064 | 5 | ARD 1065 | 6 | ZDF 1066 | 3 | RTL 1067 | 2 | SAT.1 1068 | 14 | BR3 1071 | 16 | SWBW 1072 | 10 | ORF1 1073 | 11 | ORF2 1074 | 18 | A9 1075 | 12 | 3SAT 1077 | 7 | KABE1 1078 | 15 | SUPRT 1079 | 8 | VOX 1080 | 4 | RTL2 1085 | 9 | ARTE 1091 | 13 | ATV+ 1095 | 17 | PULS4
getBasicChannelInfos
in interface IRecorder
IOException
- on communication errorspublic List<IRecorderChannelInfo> getChannelInfos() throws IOException
IRecorder
This function uses IRecorder.getChannelsNextProgramInfoMap(Date)
to determine the channel-IDs of all known channels
and IRecorder.getChannelInfo(Integer)
to fetch the info object for each channel.
<0>CHANNEL_ID: 11123 | <1>SOURCE_ID: 1 | <2>CHANNEL_SIGN: PULS 4 | <3>CHANNEL_NUMBER: 10123 | <4>CHANNEL_NAME: PULS 4 | <5>XMLTV_ID:
<0>CHANNEL_ID: 12104 | <1>SOURCE_ID: 1 | <2>CHANNEL_SIGN: ServusTV | <3>CHANNEL_NUMBER: 11104 | <4>CHANNEL_NAME: ServusTV | <5>XMLTV_ID:
<0>CHANNEL_ID: 11120 | <1>SOURCE_ID: 1 | <2>CHANNEL_SIGN: ATV | <3>CHANNEL_NUMBER: 10120 | <4>CHANNEL_NAME: ATV | <5>XMLTV_ID:
<0>CHANNEL_ID: 11101 | <1>SOURCE_ID: 1 | <2>CHANNEL_SIGN: ORF1 | <3>CHANNEL_NUMBER: 10101 | <4>CHANNEL_NAME: ORF1 | <5>XMLTV_ID:
<0>CHANNEL_ID: 12102 | <1>SOURCE_ID: 1 | <2>CHANNEL_SIGN: 3SAT | <3>CHANNEL_NUMBER: 11102 | <4>CHANNEL_NAME: 3SAT | <5>XMLTV_ID:
<0>CHANNEL_ID: 11102 | <1>SOURCE_ID: 1 | <2>CHANNEL_SIGN: ORF2 W | <3>CHANNEL_NUMBER: 10102 | <4>CHANNEL_NAME: ORF2 W | <5>XMLTV_ID:
<0>CHANNEL_ID: 12103 | <1>SOURCE_ID: 1 | <2>CHANNEL_SIGN: ORF Sport Plus | <3>CHANNEL_NUMBER: 11103 | <4>CHANNEL_NAME: ORF Sport Plus | <5>XMLTV_ID:
getChannelInfos
in interface IRecorder
IOException
- on communication errorspublic RecorderChannelInfo getChannelInfo(Integer chanID) throws IOException
IRecorder
IBackend.setChannelInfo(String, IRecorderChannelInfo)
to change the properties of a channel.
getChannelInfo
in interface IRecorder
chanID
- the id of the desired channel.
IOException
- on communication errorspublic RecorderChannelInfo getChannelInfo(IBasicChannelInfo channelInfo) throws IOException
IRecorder
This uses the channel-id of the basic-channel-info object to fetch additional informations about the channel.
IBackend.setChannelInfo(String, IRecorderChannelInfo)
to change the properties of a channel.
getChannelInfo
in interface IRecorder
channelInfo
- the desired channel
IOException
- on communication errorsIRecorder.getChannelInfo(Integer)
,
QUERY_RECORDER_GET_CHANNEL_INFO
public <C extends IBasicChannelInfo> C getCurrentChannel() throws IOException
IRecorder
IBasicChannelInfo
object is returned, otherwise an IRecorderChannelInfo
object is returned.
// getting the current input of the recorder String recorderInput = recorder.getInput(); // getting the current recorder channel IBasicChannelInfo recorderChannel = recorder.getCurrentChannel(); // print infos System.out.println(String.format( "Recorder %d is using input: %s (channel: %s).", recorderId, recorderInput, recorderChannel==null?"-":recorderChannel.getChannelSign() ));
getCurrentChannel
in interface IRecorder
C
- the type of the channel information. This is either a IRecorderChannelInfo
or a IBasicChannelInfo
.
null
.
IOException
- on communication errors.public String getInputName() throws IOException
IRecorder
IRecorder.getInput()
is called instead.
getInputName
in interface IRecorder
DVBInput
IOException
- on communication errorsQUERY_RECORDER_GET_INPUT_NAME
public String getInput() throws IOException
IRecorder
IRecorder.getInputName()
is called instead.
getInput
in interface IRecorder
DVBInput
or Tuner 1
.
If the recorder is currently not active null
is returned.
IOException
- on communication errorsQUERY_RECORDER_GET_INPUT
public boolean setInput(String inputName) throws IOException
IRecorder
setInput
in interface IRecorder
inputName
- the name of the input to change to.
true
if the input was switched successfully.
IOException
- on communication errorsQUERY_RECORDER_SET_INPUT
public String switchToNextInput() throws IOException
IRecorder
IRecorder.toggleInputs()
is called.
switchToNextInput
in interface IRecorder
IOException
- on communication errorsQUERY_RECORDER_SET_INPUT
public boolean toggleInputs() throws IOException
IRecorder
IRecorder.switchToNextInput()
is called instead.
toggleInputs
in interface IRecorder
true
if the backend respond with ok
.
IOException
- on communication errorsQUERY_RECORDER_TOGGLE_INPUTS
public boolean checkChannel(String channelNumber) throws IOException
IRecorder
checkChannel
in interface IRecorder
channelNumber
- the channel number
true
if it succeeds, false
otherwise.
IOException
- on communication errorsQUERY_RECORDER_CHECK_CHANNEL
public IRecorderChannelPrefixStatus checkChannelPrefix(String channelNumberPrefix) throws IOException
IRecorder
checkChannelPrefix
in interface IRecorder
channelNumberPrefix
- the channel number prefix
IOException
- on communication errors.QUERY_RECORDER_CHECK_CHANNEL_PREFIX
public boolean changeChannel(EChannelChangeDirection direction) throws IOException
IRecorder
changeChannel
in interface IRecorder
IOException
- on communication errorsIRecorder.changeChannel(int)
,
QUERY_RECORDER_CHANGE_CHANNEL
public boolean changeChannel(int direction) throws IOException
IRecorder
changeChannel
in interface IRecorder
direction
- 0
=up, 1
=down, 2
=favorite, 3
=same
true
if the channel was changed successfully.
IOException
- on communication errors.QUERY_RECORDER_CHANGE_CHANNEL
public boolean setChannel(String channelNumber) throws IOException
IRecorder
setChannel
in interface IRecorder
channelNumber
- the channel number
true
if the backend returned OK
.
IOException
- on communication errors.QUERY_RECORDER_SET_CHANNEL
public long getFramesWritten() throws IOException
IRecorder
IRecorder.waitForFramesWritten(long)
if you need to wait for a given amount of frames.
getFramesWritten
in interface IRecorder
-1
if
the recorder is not recording.
IOException
- on communication errorsQUERY_RECORDER_GET_FRAMES_WRITTEN
public long waitForFramesWritten(long desiredFrames) throws IOException, InterruptedException
IRecorder
This function uses IRecorder.getFramesWritten()
to determine the current amount of frames written
and waits till the requested amount of frames was writte.
waitForFramesWritten
in interface IRecorder
desiredFrames
- the amount of frames that should be written
IOException
- on communication errors
InterruptedException
- if the thread was interruptedQUERY_RECORDER_GET_FRAMES_WRITTEN
public float getFrameRate() throws IOException
IRecorder
getFrameRate
in interface IRecorder
IOException
- on communication errorsQUERY_RECORDER_GET_FRAMERATE
public long getFilePosition() throws IOException
IRecorder
getFilePosition
in interface IRecorder
IOException
QUERY_RECORDER_GET_FILE_POSITION
public IFreeInputList getFreeInputs() throws IOException
IRecorder
getFreeInputs
in interface IRecorder
null
if there is no free input.
IOException
- on communication errorsQUERY_RECORDER_GET_FREE_INPUTS
public List<String> getConnectedInputs() throws IOException
IRecorder
IRecorder.getFreeInputs()
and
IRecorder.getInput()
are used to determine the input names.
getConnectedInputs
in interface IRecorder
IOException
QUERY_RECORDER_GET_CONNECTED_INPUTS
public Integer getColour() throws IOException
IRecorder
Gets the colour of a recording.
getColour
in interface IRecorder
IOException
- on communication errorsQUERY_RECORDER_GET_COLOUR
public Integer getContrast() throws IOException
IRecorder
Gets the contrast of a recording.
getContrast
in interface IRecorder
IOException
- on communication errorsQUERY_RECORDER_GET_CONTRAST
public Integer getBrightness() throws IOException
IRecorder
Gets the brightness of a recording.
getBrightness
in interface IRecorder
IOException
- on communication errorsQUERY_RECORDER_GET_BRIGHTNESS
public Integer getHue() throws IOException
IRecorder
Gets the hue of a recording.
getHue
in interface IRecorder
IOException
- on communication errorsQUERY_RECORDER_GET_HUE
public Integer changeColour(boolean up) throws IOException
IRecorder
changeColour
in interface IRecorder
up
- the direction, true
means increase.
IOException
- on communication errorsQUERY_RECORDER_CHANGE_COLOUR
public Integer changeColour(EPictureAdjustmentType adjustmentType, boolean up) throws IOException
IRecorder
changeColour
in interface IRecorder
adjustmentType
- the adjustment type (Since 30)up
- the direction, true
means increase.
IOException
- on communication errorsQUERY_RECORDER_CHANGE_COLOUR
public Integer changeContrast(boolean up) throws IOException
IRecorder
changeContrast
in interface IRecorder
up
- the direction, true
means increase.
IOException
- on communication errorsQUERY_RECORDER_CHANGE_CONTRAST
public Integer changeContrast(EPictureAdjustmentType adjustmentType, boolean up) throws IOException
IRecorder
changeContrast
in interface IRecorder
adjustmentType
- the adjustment type (Since 30)up
- the direction, true
means increase.
IOException
- on communication errorsQUERY_RECORDER_CHANGE_CONTRAST
public Integer changeBrightness(boolean up) throws IOException
IRecorder
changeBrightness
in interface IRecorder
up
- the direction, true
means increase.
IOException
- on communication errorsQUERY_RECORDER_CHANGE_BRIGHTNESS
public Integer changeBrightness(EPictureAdjustmentType adjustmentType, boolean up) throws IOException
IRecorder
changeBrightness
in interface IRecorder
adjustmentType
- the adjustment type (Since 30)up
- the direction, true
means increase.
IOException
- on communication errorsQUERY_RECORDER_CHANGE_BRIGHTNESS
public Integer changeHue(boolean up) throws IOException
IRecorder
changeHue
in interface IRecorder
up
- the direction, true
means increase.
IOException
- on communication errorsQUERY_RECORDER_CHANGE_HUE
public Integer changeHue(EPictureAdjustmentType adjustmentType, boolean up) throws IOException
IRecorder
changeHue
in interface IRecorder
adjustmentType
- the adjustment type (Since 30)up
- the direction, true
means increase.
IOException
- on communication errorsQUERY_RECORDER_CHANGE_HUE
public long getMaxBitrate() throws IOException
IRecorder
getMaxBitrate
in interface IRecorder
IOException
- on communication errorsQUERY_RECORDER_GET_MAX_BITRATE
public boolean shouldSwitchCard(Integer channelID) throws IOException
IRecorder
shouldSwitchCard
in interface IRecorder
channelID
- the id of the channel
true
rue if the channel on another tuner and not current tuner,
false
otherwise.
This also returns false
if the channel id is unknown.
IOException
- on communication errors.QUERY_RECORDER_SHOULD_SWITCH_CARD
public boolean toggleChannelFavorite() throws IOException
IRecorder
toggleChannelFavorite
in interface IRecorder
true
if the recorder respond with OK
.
IOException
- on communication errors.QUERY_RECORDER_TOGGLE_CHANNEL_FAVORITE
public boolean toggleChannelFavorite(String channelGroup) throws IOException
IRecorder
toggleChannelFavorite
in interface IRecorder
channelGroup
- the name of the channel group (since 45).
If this is null
, ProtocolConstants.CHANNEL_GROUP_DEFAULT
is used as
group.
true
if the recorder respond with OK
.
IOException
- on communication errors.QUERY_RECORDER_TOGGLE_CHANNEL_FAVORITE
public int setSignalMonitoringRate(int rate, boolean notifyFrontend) throws IOException
IRecorder
IRecorder.pause()
the
recorder before calling this function.
setSignalMonitoringRate
in interface IRecorder
rate
- Milliseconds between each signal check, 0 to disable, -1 to preserve old value.notifyFrontend
- If 1 SIGNAL messages are sent to the frontend, if 0 SIGNAL messages will not be sent, and if -1 the old value is preserved.
IOException
- on communication errorsQUERY_RECORDER_SET_SIGNAL_MONITORING_RATE
public boolean pause() throws IOException
IRecorder
pause
in interface IRecorder
true
if the recorder respond with OK
.
IOException
- on communication errorsQUERY_RECORDER_PAUSE
public boolean cancelNextRecording(Boolean cancel) throws IOException
IRecorder
This is used when the user is watching "Live TV" and does not want to allow the recorder to be taken for a pending recording.
cancelNextRecording
in interface IRecorder
cancel
- if the next recording should be canceled or continued (Since 23).
IOException
- on communication errorsQUERY_RECORDER_CANCEL_NEXT_RECORDING
public boolean setNextLiveTvDirectory(String path) throws IOException
IRecorder
setNextLiveTvDirectory
in interface IRecorder
path
- the new path
true
on success
IOException
- on communication errorsSET_NEXT_LIVETV_DIR
public long getKeyframePosition(long frameNumber) throws IOException
IRecorder
getKeyframePosition
in interface IRecorder
frameNumber
- the desired frame number.
-1
IOException
- on communication errorsQUERY_RECORDER_GET_KEYFRAME_POS
public Map<Long,Long> fillPositionMap(long startFrameNr, long endFrameNr) throws IOException
IRecorder
IRecorder.getKeyframePosition(long)
is used instead, if no more
than 1000 frames should be tested, otherwise this function call returns an empty list.
fillPositionMap
in interface IRecorder
startFrameNr
- the starting frame numberendFrameNr
- the ending frame number
IOException
- on communication errorsQUERY_RECORDER_FILL_POSITION_MAP
public Map<Long,Long> fillDurationMap(long start, long end) throws IOException
fillDurationMap
in interface IRecorder
IOException
QUERY_RECORDER_FILL_DURATION_MAP
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |