Releases: adamajammary/libvoyaplayer
Voya Player Library v1.4.0
libvoyaplayer
A free cross-platform media player library
Copyright (C) 2021 Adam A. Jammary (Jammary Studio)
libvoyaplayer is a free cross-platform media player library that easily plays your music and video files.
Music
Supports most popular audio codecs like AAC, FLAC, MP3, Vorbis, WMA and many more.
Video
Supports most popular video codecs like H.265/HEVC, AV1, DivX, MPEG, Theora, WMV, XviD and many more.
3rd Party Libraries
Changelog
Updated
- 3rd party libraries
- Test project
- Readme doc
- CMake build
Added
- add(subs): move animations #41
- add(subs): fade animations #42
- add(subs): animated transforms #47
- add(subs): custom clipping #48
- add(subs): blur effect #52
Fixed
- fix: UNICODE (16-bit UCS-2) conversion #14
- fix(subs): handle older ASSv4 style and dialogue events #18
- fix(subs): isspace does not support negative char values #19
- fix: dont' send LVP_EVENT_MEDIA_TRACKS_UPDATED notification when a track is selected #20
- fix: race condition when spamming seek #22
- fix: clean up resources before sending a playback completed event #23
- fix(subs): missing script size #24
- fix: skip subs with no visible duration (usually complicated draw operations) #29
- fix: av1 decoding is too slow (replace aom with dav1d) #35
- fix(subs): end-time overlapping the next start-time by some milliseconds #43
- fix(subs): not all font attachments are detected properly #46
- fix(android): undeclared identifier 'MAX_PATH' #54
- fix(android): no matching constructor for initialization of 'SDL_Point' #55
- fix(android): non-constant-expression cannot be narrowed from type 'unsigned int' to 'Uint8' #56
- fix(android): 'av_stream_get_codec_timebase' is deprecated #57
- fix(android): no template named 'unordered_map' in namespace 'std' #58
- fix(linux): 'memcpy' is not a member of 'std' #59
- fix(linux): 'strstr' is not a member of 'std' #60
- fix(linux): 'memset' is not a member of 'std' #61
- fix(linux): no matching function for call to 'max' #64
- fix(apple): use of undeclared identifier NSLog (macos) and OS_LOG_DEFAULT (ios) #66
- fix(seeking): backwards in some ogg video files #68
- fix(test): segfaults on linux with random mallocs/reallocs #69
- fix(ios): error: use of undeclared identifier 'button' #70
- fix: LVP_GetMediaDetails crashes when freeing allocated resources #71
Improved
- improve: allow empty chapter titles #21
- improve: update list of system file extensions to skip #25
- improve(subs): outline and drop shadow #26
- improve(subs): support external sub files #27
- improve: add chapters to LVP_GetMediaDetails result #28
- improve(subs): split some long subs with formatting but no linebreaks #30
- improve(subs): split long lines, render by layer and optimize blur effect. #31
- improve(subs): remove duplicates and disable clipping (usually karaoke subs with complex effects) #32
- improve(subs): shadow color and offset #33
- improve(subs): remove blur effect (expensive operation without a visual improvement in most cases) #34
- improve(subs): simplify heavily formatted lines with a position #36
- improve(subs): custom draw operations and multiple forced newlines #37
- improve(subs): font selection based on custom style names #38
- improve(subs): set outline and drop shadow according to SSA specs #39
- improve: uninitialized class members #40
- improve(subs): don't skip long (heavily formatted and animated) layers #44
- improve(subs): more complicated drawing commands #45
- improve(subs): handle hundreds of simultaneous subs with different formatting (cache packets, surfaces and textures) #49
- improve(subs): manage fonts (stream attachments, local file system) #50
- improve(subs): text rendering #51
- improve(meta): don't return empty values #53
- improve: seeking #62
- improve: track sync #63
- improve(decoding): error handling #65
- improve(cmake): rpath #67
- improve(subs): bitmap conversion from PAL8 to RGBA32 #72
Voya Player Library v1.3.1
libvoyaplayer
A free cross-platform media player library
Copyright (C) 2021 Adam A. Jammary (Jammary Studio)
libvoyaplayer is a free cross-platform media player library that easily plays your music and video files.
3rd Party Libraries
Changelog
Updated
- 3rd party libraries
- Test project
- Readme doc
- CMake build
Fixed
- Color profile on Android #16
- SDL2 version mismatch error in Android project #15
- UNICODE (16-bit UCS-2) conversion #14
- Rendered sub is not cleared when the queue is empty #12
- Some videos change the audio specs during playback #11
- Memory leak when generating thumbnails #9
Improved
- Only seek by bytes when strictly necessary #13
Voya Player Library v1.3.0
libvoyaplayer
A free cross-platform media player library
Copyright (C) 2021 Adam A. Jammary (Jammary Studio)
libvoyaplayer is a free cross-platform media player library that easily plays your music and video files.
3rd Party Libraries
Changelog
- Updated
- README doc with more details on cross-platform builds
- Fixed
- Close crashes when no audio driver is set
- Allow LVP_Quit to be called multiple times without throwing an exception if not initialized
- Sub-scaling relative to video size
- Some meta data newline characters are not double-escaped
- Thumbnail creation sometimes fails because of inaccurate pitch size
- Audio filter fails for WMA files
- Improved
- Exception handling when requesting media details for an invalid media file
- Send callback event when disabling subs
- Stream info parsing of media format context
- Add external subs to meta data
- Ignore id3v2_priv (private) meta tags
- Support for cross-platform builds
- Added
- Thumbnail to meta data
- Public API endpoint to get media type of a specific file
- Public API endpoint to set mute state
Voya Player Library v1.2.0
libvoyaplayer
A free cross-platform media player library
Copyright (C) 2021 Adam A. Jammary (Jammary Studio)
libvoyaplayer is a free cross-platform media player library that easily plays your music and video files.
3rd Party Libraries
Changelog
- Added hardware acceleration on video decoding
- Updated README
- Used dummy audio if no device is found
- Added public methods to
- Get media type of a specific file
- Get media meta data of a specific file
- Fixed
- Cross-platform Arial font paths
- Custom sub draw operation overrides default sub style
- Some mp3 files need extra stream parsing to calculate duration
- Subtitles overlapping in time and space
- Subtitles still presented after PTS expired
- YUV420P video conversion
- Made file check less restrictive
- Parses content of non-system files instead of only opening certain file extensions
- Updated meta data
- Added file size and media type
- Added media duration
- Sorted meta keys
Voya Player Library v1.1.0
libvoyaplayer
A free cross-platform media player library
Copyright (C) 2021 Adam A. Jammary (Jammary Studio)
libvoyaplayer is a free cross-platform media player library that easily plays your music and video files.
Music
Supports most popular audio codecs like AAC, FLAC, MP3, Vorbis, WMA and many more.
Video
Supports most popular video codecs like H.265/HEVC, AV1, DivX, MPEG, Theora, WMV, XviD and many more.
3rd Party Libraries
How to build
- Build the third-party libraries and place the them in a common directory
- You will also need the dirent.h header if you are building on Windows
- Make sure you have cmake installed
- Open a command prompt or terminal
- Create a build directory
mkdir build
and enter itcd build
- Run the command
cmake .. -D EXT_LIB_DIR="/path/to/libs" -D DIRENT_DIR="/path/to/dirent"
- The build directory will now contain a makefile or a Visual Studio solution
Test project
The test project currently only has UI components for Windows using Win32 Controls.
LVP_Initialize
You must call LVP_Initialize with your callback handlers before using other LVP_* methods, see the test project for examples.
To use hardware rendering set the hardwareRenderer parameter to an instance of SDL_Renderer*.
Voya Player Library v1.0.0
libvoyaplayer
A free cross-platform media player library
Copyright (C) 2021 Adam A. Jammary (Jammary Studio)
libvoyaplayer is a free cross-platform media player library that easily plays your music and video files.
Music
Supports most popular audio codecs like AAC, FLAC, MP3, Vorbis, WMA and many more.
Video
Supports most popular video codecs like H.265/HEVC, AV1, DivX, MPEG, Theora, WMV, XviD and many more.
3rd Party Libraries
How to build
- Build the third-party libraries and place the them in a common directory
- You will also need the dirent.h header if you are building on Windows
- Make sure you have cmake installed
- Open a command prompt or terminal
- Create a build directory
mkdir build
and enter itcd build
- Run the command
cmake .. -D EXT_LIB_DIR="/path/to/libs" -D DIRENT_DIR="/path/to/dirent"
- The build directory will now contain a makefile or a Visual Studio solution
The test project currently only has UI components for Windows using Win32 Controls