+
+void VlcProc::reset_input()
+{
+ input_thread_t* pInput = getIntf()->p_sys->p_input;
+
+ if( pInput )
+ {
+ StreamTime *pTime = (StreamTime*)m_cVarTime.get();
+ VarBoolImpl *pVarSeekable = (VarBoolImpl*)m_cVarSeekable.get();
+ VarBoolImpl *pVarRecordable = (VarBoolImpl*)m_cVarRecordable.get();
+ VarBoolImpl *pVarRecording = (VarBoolImpl*)m_cVarRecording.get();
+ VarBoolImpl *pVarDvdActive = (VarBoolImpl*)m_cVarDvdActive.get();
+ VarBoolImpl *pVarHasVout = (VarBoolImpl*)m_cVarHasVout.get();
+ VarBoolImpl *pVarHasAudio = (VarBoolImpl*)m_cVarHasAudio.get();
+ VarBoolImpl *pVarFullscreen = (VarBoolImpl*)m_cVarFullscreen.get();
+ VarBoolImpl *pVarPlaying = (VarBoolImpl*)m_cVarPlaying.get();
+ VarBoolImpl *pVarStopped = (VarBoolImpl*)m_cVarStopped.get();
+ VarBoolImpl *pVarPaused = (VarBoolImpl*)m_cVarPaused.get();
+ VarBoolImpl *pVarEqualizer = (VarBoolImpl*)m_cVarEqualizer.get();
+
+ VarText *pBitrate = (VarText*)m_cVarStreamBitRate.get();
+ VarText *pSampleRate = (VarText*)m_cVarStreamSampleRate.get();
+
+ pVarSeekable->set( false );
+ pVarRecordable->set( false );
+ pVarRecording->set( false );
+ pVarDvdActive->set( false );
+ pTime->set( 0, false );
+ pVarFullscreen->set( false );
+ pVarHasAudio->set( false );
+ pVarHasVout->set( false );
+ pVarStopped->set( true );
+ pVarPlaying->set( false );
+ pVarPaused->set( false );
+ pBitrate->set( UString( getIntf(), "") );
+ pSampleRate->set( UString( getIntf(), "") );
+
+ var_DelCallback( pInput, "intf-event", onGenericCallback, this );
+ var_DelCallback( pInput, "bit-rate", onGenericCallback, this );
+ var_DelCallback( pInput, "sample-rate", onGenericCallback, this );
+ var_DelCallback( pInput, "can-record" , onGenericCallback, this );
+ vlc_object_release( pInput );
+ getIntf()->p_sys->p_input = NULL;
+ }
+}
+
+void VlcProc::init_variables()
+{
+ playlist_t* pPlaylist = getIntf()->p_sys->p_playlist;
+
+ // Refresh the random variable
+ VarBoolImpl *pVarRandom = (VarBoolImpl*)m_cVarRandom.get();
+ pVarRandom->set( var_GetBool( pPlaylist, "random" ) );
+
+ // Refresh the loop variable
+ VarBoolImpl *pVarLoop = (VarBoolImpl*)m_cVarLoop.get();
+ pVarLoop->set( var_GetBool( pPlaylist, "loop" ) );
+
+ // Refresh the repeat variable
+ VarBoolImpl *pVarRepeat = (VarBoolImpl*)m_cVarRepeat.get();
+ pVarRepeat->set( var_GetBool( pPlaylist, "repeat" ) );
+
+ // Refresh sound volume
+ audio_volume_t volume;
+ aout_VolumeGet( pPlaylist, &volume );
+ Volume *pVolume = (Volume*)m_cVarVolume.get();
+ pVolume->set( (double)volume * 2.0 / AOUT_VOLUME_MAX, false );
+
+ // Set the mute variable
+ VarBoolImpl *pVarMute = (VarBoolImpl*)m_cVarMute.get();
+ pVarMute->set( volume == 0 );
+}
+