New MediaPlayer image with timeline

Enable playing and seeking into a timeline on a media player that loaded an image. Timeline sets a duration (end) and is saved/loaded. Add a gstreamer imagefreeze element in the pipeline to simulate a playable stream. Distinction must be made between 'isImage' (what was loaded) and 'singleFrame' (what is in the pipeline). GUI is added and customized with menu and dialog.
This commit is contained in:
Bruno Herbelin
2023-08-10 00:46:48 +02:00
parent 1d329600af
commit 4efaa1f350
13 changed files with 299 additions and 105 deletions

View File

@@ -118,7 +118,11 @@ public:
/**
* True if its an image
* */
bool isImage() const;
bool isImage() const;
/**
* True if it has only one frame
* */
bool singleFrame() const;
/**
* Pause / Play
* Can play backward if play speed is negative
@@ -269,8 +273,10 @@ public:
*/
static std::list<MediaPlayer*> registered() { return registered_; }
static std::list<MediaPlayer*>::const_iterator begin() { return registered_.cbegin(); }
static std::list<MediaPlayer*>::const_iterator end() { return registered_.cend(); }
static std::list<MediaPlayer*>::const_iterator end() { return registered_.cend(); }
/**
* Discoverer to check uri and get media info
* */
static MediaInfo UriDiscoverer(const std::string &uri);
std::string log() const { return media_.log; }