- Nov 08, 2023
-
-
Steve Lhomme authored
All the files written here by the build script should not be merged into master.
-
- Nov 07, 2023
-
-
Add an optional parameter to the duplicated streams. The ES ID suffix can be used to synthesize meaningful ES IDs. By default, duplicated ES string IDs follows the `.../duplicated-stream-N` scheme where `...` is the former ES string ID and `N` is the duplicated stream index. This approach is great for scenarios where users don't mind ES naming or for simple stream output chains. For advanced stream output chains where ES ID needs to be easily readable or tied to a context, specifying the ES ID suffix become important. For example, the following pipeline outputs an HLS stream with two renditions of the video track. ``` duplicate{ dst="", # Forward all original tracks to the sink. dst="transcode{vcodec=h264,height=480}", select="video", suffix="low", # Duplicate and downscale the video track. }:hls{ variants={ {video/1}, # Rendition 1: The original video track. {video/1/low} # Rendition 2: Suffixed downscaled video track. } } ```
-
For uniqueness of the ES string IDs, `duplicate` should synthesize different ES IDs for each duplicated ES. This patch adds a `/duplicated-stream` suffix to the duplicated ES followed by the stream number. The original ES keeps their former ES ID. Example: +-----------+ -- video/1 ----------------------> | | -- audio/2 ----------------------> -- video/1 -->| duplicate | -- video/1/duplicated-stream-1 --> -- audio/2 -->| | -- audio/2/duplicated-stream-1 --> | | -- video/1/duplicated-stream-2 --> +-----------+ -- audio/2/duplicated-stream-2 -->
-
-
The display module should not need to modify them.
-
It contains only the useful fields from subpicture_t. A display module should not need to know about channels, order, ephemer, fade, etc.
-
-
- Nov 06, 2023
-
-
Steve Lhomme authored
-
Steve Lhomme authored
It is always set at the beginning of each if section.
-
Steve Lhomme authored
SetupPositions() was always called before with an unmodified psz_subtitle.
-
Steve Lhomme authored
-
Steve Lhomme authored
And continue if this not the beginning of a tag.
-
Steve Lhomme authored
-
Steve Lhomme authored
-
Steve Lhomme authored
-
- Nov 05, 2023
-
-
Steve Lhomme authored
-
Steve Lhomme authored
-
Steve Lhomme authored
-
Steve Lhomme authored
This separates the region type from its container. The drawback is that it makes the structure bigger. But we get plenty of helpers. There might be other containers suitable but we use a mix of append and prepend.
-
- Nov 04, 2023
-
-
Steve Lhomme authored
On a fresh install of VLC compiler with mingw LLVM17 I get a crash when accessing m_cachedData. The pointer is NULL because the queryCount is 0.
-
Steve Lhomme authored
It builds fine. Not sure why it was disabled.
-
Steve Lhomme authored
And don't return a constant value. There was a leak when called from exec_DeleteImage(). It was removed from the list/vector but the structure was not released and once the pointer is removed from the list, it's not referenced elsewhere.
-
Steve Lhomme authored
We can just handle the vector locally.
-
Steve Lhomme authored
-
-
-
-
-
-
-
Switching to `vlc_vector_t` made it possible to handle memory failures.
-
To also handle the last ID in the for loop. No functional changes.
-
-
Frame chains are not supported anymore in sout's `pf_send`.
-
Storing NULL duplicated IDs was necessary before we had a reference to the duplicate stream output stored with the duplicated id. Storing NULL allowed to have an index equivalence between the stream array and the ID array. Now that IDs can be independently stored, lets remove the NULL pushes and the unneeded NULL checks!
-
Module opening and closure are already generically printed.
-
The select chain can be assigned by accessing the last element of the vector directly.
-
Will make it easier to expand fields stored per duplicated streams and save one malloc and free calls per duplicated streams.
-
-
Switch from the legacy `TAB` API to the new vector implementation. The vectors here will help: - refactoring the code and get rid of a lot of index based access (with foreach loops mainly) - check for allocation errors (`TAB_...` aborts on malloc failure)
-