Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
M
medialibrary
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 70
    • Issues 70
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 8
    • Merge Requests 8
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • VideoLAN
  • medialibrary
  • Issues
  • #236

Closed
Open
Created Apr 16, 2020 by Hugo Beauzée-Luyssen@chouquetteMaintainer6 of 6 tasks completed6/6 tasks

Allow uncompleted playback to be fetched

In order to implement a "Continue watching" feature from the UIs, we need to be able to return a list of media that have not been marked as completed, or that have a progress set.

The main issue is that the progress is a media meta, meaning it's application defined, and the media library doesn't know what the stored value means. For example, iOS uses the playback position, ie. a float in [0;1] range (https://code.videolan.org/videolan/vlc-ios/-/blob/master/SharedSources/MediaLibraryService.swift#L379) while vlc-android uses the current playback time (https://code.videolan.org/videolan/vlc-android/-/blob/master/application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt#L444)

This prevents us from providing a way for the application to get the (most recent?) uncompleted playbacks.

We need to expose the progress as a full blown media field, and enforce a common representation for it

  • Add a progress field, holding a REAL, defaulting to -1
  • Index that field since we will be querying media filtering with this field
  • Remove IMedia::MetadataType::Progress, be sure to assign 51 to the Speed enum member
  • Replace 'increasePlayCountby asetProgress` function, which will take the new progress, and update the play count accordingly
  • Handle migration from Android & iOS previous meta
  • Add a uncompleteMedia accessor to IMediaLibrary

Not sure if we should enforce filtering out audio media when accessing uncomplete media.

Not sure uncompleteMedia is the best name, suggestions welcome :)

Edited Jun 23, 2020 by Hugo Beauzée-Luyssen
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None