Changing from playback of one video file to another does not update "resume" position (1 Viewer)

damaster

Portal Pro
November 23, 2007
412
35
Home Country
Canada Canada
TV-Server Version: RC3
MediaPortal Version: RC3
MediaPortal Skin: Aeon
Windows Version: Windows Vista
CPU Type: AMD X2 6400+
HDD: WD SE16 500GB, Samsung SpinPoint 1TB
Memory: 2GB DDR2 800
Motherboard: Gigabyte GA-MA69GM-S2H
Video Card: ATI Radeon HD 3470
Video Card Driver: Catalyst 8.9
Sound Card: Realtek Digital Audio
Sound Card AC3: Realtek Digital Audio
Sound Card Driver:
1. TV Card: Hauppauge Nova-S Plus
1. TV Card Type: DVB-S
1. TV Card Driver:
2. TV Card:
2. TV Card Type:
2. TV Card Driver:
3. TV Card:
3. TV Card Type:
3. TV Card Driver:
4. TV Card:
4. TV Card Type:
4. TV Card Driver:
MPEG2 Video Codec: Cyberlink PowerDVD 7
MPEG2 Audio Codec: ffdshow
h.264 Video Codec: MPC Video Decoder
Satelite/CableTV Provider: Nimiq 82W, Nimiq 91W
HTPC Case: nMedia 200BA
Cooling: Zalman CNPS8700NT
Power Supply: Corsair 450VX
Remote: Home Theater Master MX-700
TV: Toshiba 50H82
TV - HTPC Connection: Component

This is a new bug in RC3, as this was working in RC2.

Steps to reproduce:
1. Play a video file. When/if prompted to resume from last position, choose "Yes", for example at 1h:12m
2. Watch video for a minute or two.
3. Without stopping video, go back to "My Videos", and select another video to playback.
4. Watch this video for a few seconds and press "Stop" to return to "My Videos".
5. Now select the first movie, and verify the resume position will still be as before, for example 1h:12m and has not been updated with the final resume position as watched in step 2.
6. Stop playback.

Logs attached:
- It is clear from the logs attached that OnPlaybackStopped is only called twice when really playback was stopped a total of 3 times: 1) when switching from movie A to movie B, 2) when stopping movie B, and 3) finally when stopping movie A.
Code:
[Debug][MPMain]: GUIVideoFiles: OnPlayBackStopped store resume time

Source of the problem in the code:
- Based on my debugging, the problem is in g_player.cs in the OnStopped method. When a video file is currently playing, and the user switches to another video file, then variable g_player.Playing is set to false and thus the following code section in the if block does not get executed:
Code:
    //called when current playing file is stopped
    static void OnStopped()
    {
      //check if we're playing
      if ([b]g_Player.Playing[/b] && PlayBackStopped != null)
      {
        //yes, then raise event 
        Log.Info("g_Player.OnStopped()");
        PlayBackStopped(_currentMedia, (int)g_Player.CurrentPosition, g_Player.CurrentFile);
      }
    }
 

Users who are viewing this thread

Top Bottom