RESULT eServiceMP3::setSlowMotion(int ratio) { if (!ratio) return 0; eDebug("eServiceMP3::setSlowMotion ratio=%f",1.0/(gdouble)ratio); return trickSeek(1.0/(gdouble)ratio); }
RESULT eServiceMP3::unpause() { if (!m_gst_playbin || m_state != stRunning) return -1; trickSeek(1.0); return 0; }
bool cPlayback::SetSpeed(int speed) { lt_info( "%s:%s speed %d\n", FILENAME, __FUNCTION__, speed); if(playing == false) return false; if(m_gst_playbin) { // pause if(speed == 0) { gst_element_set_state(m_gst_playbin, GST_STATE_PAUSED); //trickSeek(0); playstate = STATE_PAUSE; } // play/continue else if(speed == 1) { trickSeek(1); //gst_element_set_state(m_gst_playbin, GST_STATE_PLAYING); // playstate = STATE_PLAY; } //ff else if(speed > 1) { trickSeek(speed); // playstate = STATE_FF; } //rf else if(speed < 0) { trickSeek(speed); // playstate = STATE_REW; } } mSpeed = speed; return true; }
bool cPlayback::SetSlow(int slow) { lt_info( "%s:%s playing %d\n", FILENAME, __FUNCTION__, playing); if(playing == false) return false; if(m_gst_playbin) { trickSeek(0.5); } playstate = STATE_SLOW; mSpeed = slow; return true; }
RESULT eServiceMP3::setFastForward(int ratio) { eDebug("eServiceMP3::setFastForward ratio=%i",ratio); return trickSeek(ratio); }