package com.iwedia.service.pvr;
import android.os.RemoteException;
import android.util.Log;
import com.iwedia.comm.IPvrCallback;
import com.iwedia.comm.IPvrControl;
import com.iwedia.comm.enums.PvrSpeedMode;
import com.iwedia.dtv.pvr.MediaInfo;
import com.iwedia.dtv.pvr.OnTouchInfo;
import com.iwedia.dtv.pvr.PlaybackInfo;
import com.iwedia.dtv.pvr.PvrEventMediaAdd;
import com.iwedia.dtv.pvr.PvrEventMediaRemove;
import com.iwedia.dtv.pvr.PvrEventPlaybackJump;
import com.iwedia.dtv.pvr.PvrEventPlaybackPosition;
import com.iwedia.dtv.pvr.PvrEventPlaybackSpeed;
import com.iwedia.dtv.pvr.PvrEventPlaybackStart;
import com.iwedia.dtv.pvr.PvrEventPlaybackStop;
import com.iwedia.dtv.pvr.PvrEventRecordAdd;
import com.iwedia.dtv.pvr.PvrEventRecordConflict;
import com.iwedia.dtv.pvr.PvrEventRecordPosition;
import com.iwedia.dtv.pvr.PvrEventRecordRemove;
import com.iwedia.dtv.pvr.PvrEventRecordResourceIssue;
import com.iwedia.dtv.pvr.PvrEventRecordStart;
import com.iwedia.dtv.pvr.PvrEventRecordStop;
import com.iwedia.dtv.pvr.PvrEventTimeshiftJump;
import com.iwedia.dtv.pvr.PvrEventTimeshiftPosition;
import com.iwedia.dtv.pvr.PvrEventTimeshiftSpeed;
import com.iwedia.dtv.pvr.PvrEventTimeshiftStart;
import com.iwedia.dtv.pvr.PvrEventTimeshiftStop;
import com.iwedia.dtv.pvr.PvrRecordType;
import com.iwedia.dtv.pvr.PvrSortMode;
import com.iwedia.dtv.pvr.PvrSortOrder;
import com.iwedia.dtv.pvr.SmartCreateParams;
import com.iwedia.dtv.pvr.SmartInfo;
import com.iwedia.dtv.pvr.TimerCreateParams;
import com.iwedia.dtv.pvr.TimerInfo;
import com.iwedia.dtv.pvr.TimeshiftInfo;
import com.iwedia.dtv.types.InternalException;
import com.iwedia.service.IWEDIAService;
import com.iwedia.service.proxyservice.IDTVInterface;
public class PvrControl extends IPvrControl.Stub implements IDTVInterface {
public static final String LOG_TAG = "PvrControl";
private static IPvrCallback pvrCallback;
private static int timeshiftRecordSpace = 0;
private static int timeshiftRecordTime = 0;
private static int timeshiftEndTime = 0;
private static int recordSpace = 0;
private static int recordTime = 0;
private static int endTime = 0;
private static int speed = PvrSpeedMode.PVR_SPEED_PAUSE;;
@Override
public void setDevicePath(String path) {
IWEDIAService.getInstance().getDTVManager().getPvrControl()
.setDevicePath(path);
}
@Override
public String getDevicePath() {
return IWEDIAService.getInstance().getDTVManager().getPvrControl()
.getDevicePath();
}
@Override
public void setDeviceSpeed(int speed) {
IWEDIAService.getInstance().getDTVManager().getPvrControl()
.setDeviceSpeed(speed);
}
@Override
public void createOnTouchRecord(int serviceID) {
speed = PvrSpeedMode.PVR_SPEED_PAUSE;
try {
IWEDIAService
.getInstance()
.getDTVManager()
.getPvrControl()
.createOnTouchRecord(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentRecRoute(), serviceID);
} catch (InternalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void createTimerRecord(TimerCreateParams timerCreateParams) {
try {
IWEDIAService
.getInstance()
.getDTVManager()
.getPvrControl()
.createTimerRecord(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentRecRoute(), timerCreateParams);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InternalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void createSmartRecord(SmartCreateParams smartCreateParams) {
try {
IWEDIAService
.getInstance()
.getDTVManager()
.getPvrControl()
.createSmartRecord(
IWEDIAService.getInstance().getDtvManagerProxy()
.getCurrentRecRoute(), smartCreateParams);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InternalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void destroyRecord(int index) {
IWEDIAService.getInstance().getDTVManager().getPvrControl()
.destroyRecord(index);
}
@Override
public int updateRecordList() {
speed = PvrSpeedMode.PVR_SPEED_PAUSE;
return IWEDIAService.getInstance().getDTVManager().getPvrControl()
.updateRecordList();
}
@Override
public void setRecordListSortMode(PvrSortMode mode) {
IWEDIAService.getInstance().getDTVManager().getPvrControl()
.setRecordListSortMode(mode);
}
@Override
public PvrSortMode getRecordListSortMode() {
return IWEDIAService.getInstance().getDTVManager().getPvrControl()
.getRecordListSortMode();
}
@Override
public void setRecordListSortOrder(PvrSortOrder order) {
IWEDIAService.getInstance().getDTVManager().getPvrControl()
.setRecordListSortOrder(order);
}
@Override
public PvrSortOrder getRecordListSortOrder() {
return IWEDIAService.getInstance().getDTVManager().getPvrControl()
.getRecordListSortOrder();
}
@Override
public PvrRecordType getRecordType(int index) {
return IWEDIAService.getInstance().getDTVManager().getPvrControl()
.getRecordType(index);
}
@Override
public OnTouchInfo getOnTouchInfo(int index) {
return IWEDIAService.getInstance().getDTVManager().getPvrControl()
.getOnTouchInfo(index);
}
@Override
public TimerInfo getTimerInfo(int index) {
return IWEDIAService.getInstance().getDTVManager().getPvrControl()
.getTimerInfo(index);
}
@Override
public SmartInfo getSmartInfo(int index) {
return IWEDIAService.getInstance().getDTVManager().getPvrControl()
.getSmartInfo(index);
}
@Override
public void setRecordMaxDuration(int duration) {
IWEDIAService.getInstance().getDTVManager().getPvrControl()
.setRecordMaxDuration(duration);
}
@Override
public int getRecordMaxDuration() {
return IWEDIAService.getInstance().getDTVManager().getPvrControl()
.getRecordMaxDuration();
}
@Override
public int updateMediaList() {
speed = PvrSpeedMode.PVR_SPEED_PAUSE;
return IWEDIAService.getInstance().getDTVManager().getPvrControl()
.updateMediaList();
}
@Override
public void setMediaListSortMode(PvrSortMode mode) {
IWEDIAService.getInstance().getDTVManager().getPvrControl()
.setMediaListSortMode(mode);
}
@Override
public PvrSortMode getMediaListSortMode() {
return IWEDIAService.getInstance().getDTVManager().getPvrControl()
.getMediaListSortMode();
}
@Override
public void setMediaListSortOrder(PvrSortOrder order) {
IWEDIAService.getInstance().getDTVManager().getPvrControl()
.setMediaListSortOrder(order);
}
@Override
public PvrSortOrder getMediaListSortOrder() {
return IWEDIAService.getInstance().getDTVManager().getPvrControl()
.getMediaListSortOrder();
}
@Override
public MediaInfo getMediaInfo(int index) {
return IWEDIAService.getInstance().getDTVManager().getPvrControl()
.getMediaInfo(index);
}
@Override
public void deleteMedia(int index) {
speed = PvrSpeedMode.PVR_SPEED_PAUSE;
IWEDIAService.getInstance().getDTVManager().getPvrControl()
.deleteMedia(index);
}
@Override
public void deleteMediaList() {
while (IWEDIAService.getInstance().getDTVManager().getPvrControl()
.updateMediaList() > 0) {
IWEDIAService.getInstance().getDTVManager().getPvrControl()
.deleteMedia(0);
}
}
@Override
public void startPlayback(int displayId, int index) {
speed = PvrSpeedMode.PVR_SPEED_FORWARD_X1;
int decoderID = IWEDIAService.getInstance().getDtvManagerProxy()
.getDecoderID(displayId);
int routeID = IWEDIAService.getInstance().getDtvManagerProxy()
.getPlayRouteID(decoderID);
try {
IWEDIAService.getInstance().getDTVManager().getPvrControl()
.startPlayback(routeID, index);
} catch (InternalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void stopPlayback() {
speed = PvrSpeedMode.PVR_SPEED_PAUSE;
try {
IWEDIAService
.getInstance()
.getDTVManager()
.getPvrControl()
.stopPlayback(
IWEDIAService.getInstance().getDtvManagerProxy()
.getPlayRouteID());
} catch (InternalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public PlaybackInfo getPlaybackInfo() {
return IWEDIAService
.getInstance()
.getDTVManager()
.getPvrControl()
.getPlaybackInfo(
IWEDIAService.getInstance().getDtvManagerProxy()
.getPlayRouteID());
}
@Override
public void setTimeshiftBufferSize(int size) {
IWEDIAService.getInstance().getDTVManager().getPvrControl()
.setTimeshiftBufferSize(size);
}
@Override
public int getTimeshiftBufferSize() {
return IWEDIAService.getInstance().getDTVManager().getPvrControl()
.getTimeshiftBufferSize();
}
@Override
public void startTimeshift() {
speed = PvrSpeedMode.PVR_SPEED_PAUSE;
try {
IWEDIAService
.getInstance()
.getDTVManager()
.getPvrControl()
.startTimeshift(
IWEDIAService.getInstance().getDtvManagerProxy()
.getPlayRouteID());
} catch (InternalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void stopTimeshift(boolean resume) {
speed = PvrSpeedMode.PVR_SPEED_PAUSE;
try {
IWEDIAService
.getInstance()
.getDTVManager()
.getPvrControl()
.stopTimeshift(
IWEDIAService.getInstance().getDtvManagerProxy()
.getPlayRouteID(), resume);
} catch (InternalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public TimeshiftInfo getTimeshiftInfo() {
return IWEDIAService
.getInstance()
.getDTVManager()
.getPvrControl()
.getTimeshiftInfo(
IWEDIAService.getInstance().getDtvManagerProxy()
.getPlayRouteID());
}
@Override
public void controlSpeed(int speed) {
IWEDIAService
.getInstance()
.getDTVManager()
.getPvrControl()
.controlSpeed(
IWEDIAService.getInstance().getDtvManagerProxy()
.getPlayRouteID(), speed);
}
@Override
public void jump(int position, boolean relative) {
speed = PvrSpeedMode.PVR_SPEED_PAUSE;;
IWEDIAService
.getInstance()
.getDTVManager()
.getPvrControl()
.jump(IWEDIAService.getInstance().getDtvManagerProxy()
.getPlayRouteID(), position, relative);
}
@Override
public void pause(boolean pauseResume) {
if (IWEDIAService.DEBUG)
Log.i(LOG_TAG, "pause: " + pauseResume);
if (pauseResume) {
speed = PvrSpeedMode.PVR_SPEED_PAUSE;
} else {
speed = PvrSpeedMode.PVR_SPEED_FORWARD_X1;
}
IWEDIAService
.getInstance()
.getDTVManager()
.getPvrControl()
.controlSpeed(
IWEDIAService.getInstance().getDtvManagerProxy()
.getPlayRouteID(), speed);
}
@Override
public void fastForward() {
if (IWEDIAService.DEBUG)
Log.i(LOG_TAG, "fastForward enter - SPEED: " + speed);
if (speed > PvrSpeedMode.PVR_SPEED_BACKWARD_X64
&& speed < PvrSpeedMode.PVR_SPEED_FORWARD_X64) {
if (speed > PvrSpeedMode.PVR_SPEED_PAUSE) {
speed *= 2;
} else if (speed < PvrSpeedMode.PVR_SPEED_PAUSE) {
if (speed == PvrSpeedMode.PVR_SPEED_BACKWARD_X1) {
speed = PvrSpeedMode.PVR_SPEED_FORWARD_X1;
} else {
speed /= 2;
}
} else {
speed = PvrSpeedMode.PVR_SPEED_FORWARD_X2;
}
IWEDIAService
.getInstance()
.getDTVManager()
.getPvrControl()
.controlSpeed(
IWEDIAService.getInstance().getDtvManagerProxy()
.getPlayRouteID(), speed);
}
if (IWEDIAService.DEBUG)
Log.i(LOG_TAG, "fastForward - SPEED: " + speed);
}
@Override
public void rewind() {
if (IWEDIAService.DEBUG)
Log.i(LOG_TAG, "rewind enter - SPEED: " + speed);
if (speed > PvrSpeedMode.PVR_SPEED_BACKWARD_X64
&& speed < PvrSpeedMode.PVR_SPEED_FORWARD_X64) {
if (speed == PvrSpeedMode.PVR_SPEED_PAUSE
|| speed == PvrSpeedMode.PVR_SPEED_FORWARD_X1) {
speed = PvrSpeedMode.PVR_SPEED_BACKWARD_X1;
} else if (speed < PvrSpeedMode.PVR_SPEED_PAUSE) {
speed *= 2;
} else if (speed > PvrSpeedMode.PVR_SPEED_PAUSE) {
speed /= 2;
}
IWEDIAService
.getInstance()
.getDTVManager()
.getPvrControl()
.controlSpeed(
IWEDIAService.getInstance().getDtvManagerProxy()
.getPlayRouteID(), speed);
}
if (IWEDIAService.DEBUG)
Log.i(LOG_TAG, "rewind - SPEED: " + speed);
}
@Override
public void channelZapping(boolean status) {
// TODO Auto-generated method stub
}
@SuppressWarnings("static-access")
@Override
public void registerCallback(IPvrCallback pvrCallback) {
this.pvrCallback = pvrCallback;
}
@Override
public void unregisterCallback(IPvrCallback arg0) {
// TODO Auto-generated method stub
}
public static com.iwedia.dtv.pvr.IPvrCallback getPVRCallback() {
return callback;
// return null;
}
private static com.iwedia.dtv.pvr.IPvrCallback callback = new com.iwedia.dtv.pvr.IPvrCallback() {
@Override
public void eventTimeshiftStop(
PvrEventTimeshiftStop pvrEventTimeshiftStop) {
try {
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "eventTimeshiftStop");
}
pvrCallback.timeshiftStop();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void eventTimeshiftStart(
PvrEventTimeshiftStart pvrEventTimeshiftStart) {
try {
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "eventTimeshiftStart");
}
pvrCallback.timeshiftStart();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void eventTimeshiftSpeed(
PvrEventTimeshiftSpeed pvrEventTimeshiftSpeed) {
speed = pvrEventTimeshiftSpeed.getSpeed();
int timeshiftSpeed = speed / 100;
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "eventTimeshiftSpeed - timeshiftSpeed: "
+ timeshiftSpeed);
}
if (speed > PvrSpeedMode.PVR_SPEED_PAUSE) {
try {
if (speed == PvrSpeedMode.PVR_SPEED_FORWARD_X1) {
pvrCallback.timeshiftPlay();
} else
pvrCallback.timeshiftFastForward(timeshiftSpeed);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else if (speed < PvrSpeedMode.PVR_SPEED_PAUSE) {
try {
pvrCallback.timeshiftRewind(-timeshiftSpeed);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
try {
pvrCallback.timeshiftPause();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
@Override
public void eventTimeshiftPosition(
PvrEventTimeshiftPosition pvrEventTimeshiftPosition) {
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "eventTimeshiftPosition");
}
try {
if (pvrEventTimeshiftPosition.isPlaybackBegin()
|| pvrEventTimeshiftPosition.isPlaybackEnd()) {
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "timeshiftPlay() - isPlaybackBegin(): "
+ pvrEventTimeshiftPosition.isPlaybackBegin());
Log.d(LOG_TAG, "timeshiftPlay() - isPlaybackEnd(): "
+ pvrEventTimeshiftPosition.isPlaybackEnd());
}
speed = PvrSpeedMode.PVR_SPEED_FORWARD_X1;
IWEDIAService
.getInstance()
.getDTVManager()
.getPvrControl()
.controlSpeed(
IWEDIAService.getInstance()
.getDtvManagerProxy()
.getPlayRouteID(), speed);
} else {
/*
* int timeshiftBufferSize = IWEDIAService.getInstance()
* .getDTVManager().getPvrControl()
* .getTimeshiftBufferSize();
*/
int timeshiftBufferSize = 512; // temporary value - not
// implemented in MW
timeshiftEndTime = 1800000; // temporary value
int recordTimePosition = pvrEventTimeshiftPosition
.getRecordTimePosition();
int recordSpacePosition = pvrEventTimeshiftPosition
.getRecordSpacePosition();
int palybackTimePosition = pvrEventTimeshiftPosition
.getPlaybackTimePosition();
int palybackSpacePosition = pvrEventTimeshiftPosition
.getPlaybackSpacePosition();
// Calculate BitRate
/*
* if (timeshiftRecordSpace != recordSpacePosition) {
* timeshiftEndTime = timeshiftBufferSize
* (recordTimePosition - timeshiftRecordTime);
* timeshiftRecordTime = recordTimePosition;
* timeshiftRecordSpace = recordSpacePosition; }
*/
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG,
"eventTimeshiftPosition - playbackTimePosition: "
+ palybackTimePosition);
Log.d(LOG_TAG,
"eventTimeshiftPosition - recordTimePosition "
+ recordTimePosition);
}
pvrCallback.timeshiftPosition(recordTimePosition,
palybackTimePosition, timeshiftEndTime);
}
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void eventTimeshiftJump(
PvrEventTimeshiftJump pvrEventTimeshiftJump) {
// TODO Auto-generated method stub
}
@Override
public void eventRecordStop(PvrEventRecordStop pvrEventRecordStop) {
try {
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "eventRecordStop");
}
pvrCallback.recordStop();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void eventRecordStart(PvrEventRecordStart pvrEventRecordStart) {
try {
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "eventRecordStart");
}
pvrCallback.recordStart();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void eventRecordResourceIssue(
PvrEventRecordResourceIssue pvrEventRecordResourceIssue) {
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "eventRecordResourceIssue");
}
// TODO Auto-generated method stub
}
@Override
public void eventRecordRemove(PvrEventRecordRemove pvrEventRecordRemove) {
try {
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "eventRecordRemove");
}
pvrCallback.recordRemove();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void eventRecordPosition(
PvrEventRecordPosition pvrEventRecordPosition) {
try {
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "eventRecordPosition");
}
int bufferSize = 512; // temporary value
endTime = 3600000; // temporary value
int recordTimePosition = pvrEventRecordPosition
.getTimePosition();
int recordSpacePosition = pvrEventRecordPosition
.getSpacePosition();
// Calculate BitRate
/*
* if (recordSpace != recordSpacePosition) { endTime =
* bufferSize * (recordTimePosition - recordTime); recordTime =
* recordTimePosition; recordSpace = recordSpacePosition; }
*/
Log.d(LOG_TAG, "eventRecordPosition - bufferSize: "
+ bufferSize);
Log.d(LOG_TAG, "eventRecordPosition - recordTimePosition: "
+ recordTimePosition);
Log.d(LOG_TAG, "eventRecordPosition - recordSpacePosition: "
+ recordSpacePosition);
pvrCallback.recordPosition(recordTimePosition, endTime);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void eventRecordConflict(
PvrEventRecordConflict pvrEventRecordConflict) {
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "eventRecordConflict");
}
}
@Override
public void eventRecordAdd(PvrEventRecordAdd pvrEventRecordAdd) {
try {
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "eventRecordAdd");
}
pvrCallback.recordAdd();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void eventPlaybackStop(PvrEventPlaybackStop pvrEventPlaybackStop) {
try {
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "eventPlaybackStop");
}
pvrCallback.playbackStop();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void eventPlaybackStart(
PvrEventPlaybackStart pvrEventPlaybackStart) {
try {
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "eventPlaybackStart");
}
pvrCallback.playbackPlay();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void eventPlaybackSpeed(
PvrEventPlaybackSpeed pvrEventPlaybackSpeed) {
speed = pvrEventPlaybackSpeed.getSpeed();
int playbackSpeed = speed / 100;
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "eventPlaybackSpeed - playbackSpeed: "
+ playbackSpeed);
}
if (speed < PvrSpeedMode.PVR_SPEED_PAUSE) {
try {
pvrCallback.playbackRewind(-playbackSpeed);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else if (playbackSpeed > PvrSpeedMode.PVR_SPEED_PAUSE) {
try {
pvrCallback.playbackFastForward(playbackSpeed);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
try {
pvrCallback.playbackPause();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
@Override
public void eventPlaybackPosition(
PvrEventPlaybackPosition pvrEventPlaybackPosition) {
try {
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "eventPlaybackPosition - timePosition"
+ pvrEventPlaybackPosition.getTimePosition());
}
if (pvrEventPlaybackPosition.isBegin()) {
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "eventPlaybackPosition - isBegin(): "
+ pvrEventPlaybackPosition.isBegin());
}
speed = PvrSpeedMode.PVR_SPEED_FORWARD_X1;
IWEDIAService
.getInstance()
.getDTVManager()
.getPvrControl()
.controlSpeed(
IWEDIAService.getInstance()
.getDtvManagerProxy()
.getPlayRouteID(), speed);
// pvrCallback.playbackPlay();
} else if (pvrEventPlaybackPosition.isEnd()) {
if (IWEDIAService.DEBUG) {
Log.d(LOG_TAG, "eventPlaybackPosition - isEnd(): "
+ pvrEventPlaybackPosition.isEnd());
}
speed = PvrSpeedMode.PVR_SPEED_PAUSE;
try {
IWEDIAService
.getInstance()
.getDTVManager()
.getPvrControl()
.stopPlayback(
IWEDIAService.getInstance()
.getDtvManagerProxy()
.getPlayRouteID());
} catch (InternalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// pvrCallback.playbackStop();
} else {
pvrCallback.playbackPosition(pvrEventPlaybackPosition
.getTimePosition());
}
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void eventPlaybackJump(PvrEventPlaybackJump pvrEventPlaybackJump) {
// TODO Auto-generated method stub
}
@Override
public void eventMediaRemove(PvrEventMediaRemove pvrEventMediaRemove) {
// TODO Auto-generated method stub
}
@Override
public void eventMediaAdd(PvrEventMediaAdd pvrEventMediaAdd) {
// TODO Auto-generated method stub
}
@Override
public void eventDeviceError() {
// TODO Auto-generated method stub
}
};
}