- Oct 06, 2020
-
-
Steve Lhomme authored
Filters created with aout_filter_Create() already check the structure pointer is not NULL.
-
- Oct 05, 2020
-
-
Generate a simple operations structure for filters generating their own filter callback via VIDEO_FILTER_WRAPPER(). The filter chain sets a mouse handler on video filters that don't have one, just as before, by using a local version of the ops structure of the filter and adding the local mouse callback. Co-authored-by:
Steve Lhomme <robux4@ycbcr.xyz>
-
Remove switch used for one case and use VLC_EGENERIC/VLC_SUCCESS when suitable.
-
Avoid switch for one case and use VLC_EGENERIC/VLC_SUCCESS when suitable.
-
-
Steve Lhomme authored
And remove unneeded declaration of functions defined by VIDEO_FILTER_WRAPPER.
-
Steve Lhomme authored
Just like in the video output, the user filters should adapt to the source, better than they should adapt to the encoder. In particular, hardware support will be favored in more cases. Just like in the video output, the last converter chain is responsible to adapt the decoded + prerendered + filtered pictures to the encoder requested input format (see osys->converters display.c). In the end we have the same filters as the video output: static, user, final converter. With the orientation changes done outside of the p_conv_nonstatic, this filter cahin was always NULL (b_orient always false).
-
Steve Lhomme authored
This is also how the display modules work, the orientation is usually done while rendering the picture. The p_final_conv_static filter is also the one that produces pictures on which we render subpictures, which is when the reorientation is forced.
-
Steve Lhomme authored
If the decoder and encoder alignment don't match, the last converter before the encoder will take care of the alignment.
-
Steve Lhomme authored
The last b_do_orient test is done without a local variable. No functional changes.
-
Steve Lhomme authored
No matter the value of b_do_orient, the filter chain will not be created. It will only return a different error code.
-
Steve Lhomme authored
If b_do_orient is true we returned VLC_EGENERIC a few lines above. So b_do_orient is false, so we will return VLC_SUCCESS no matter what the values of b_do_chroma and b_do_scale are.
-
Steve Lhomme authored
- remove the enum differentiating each pass - use the proper filter directly on each pass - remove impossible test cases
-
Steve Lhomme authored
Rather than a loop doing things differently in both passes. No functional changes. Add some more comments on the different filter chains.
-
Track language may change between playlists. Signed-off-by:
Jean-Baptiste Kempf <jb@videolan.org>
-
Thomas Guillem authored
The new duplicated media should not share events of the orignal one. Ie. parsing the original media should not trigger updates on the duplicated media.
-
Thomas Guillem authored
- Don't override the media set by the user from on_current_media_changed(). - Don't create a new media from an input_item. This will prevent to send media events with a media pointer that is unknown to the caller. This callback is now always sending a media that is set with libvlc_media_player_set_media(). Since the player is now fully asynchronous, a call to set_media() + play() will be processed asynchronously if an older media is playing. The user might want to know when its new media is actually playing. Listening to the libvlc_MediaPlayerMediaChanged event is only way to do so. Here is an example: 1. set_media(A) && play() -> get_media() -> A 2. set_media(B) && play() -> get_media() -> B 3. libvlc_MediaPlayerMediaChanged(A) -> get_media() -> B 4. libvlc_MediaPlayerMediaChanged(B) -> get_media() -> B
-
Thomas Guillem authored
This will be used by libvlc_media to store the media instance into an input_item. This will allow to get the media corresponding to an item when propagating media events.
-
Steve Lhomme authored
If the Cues we read in adaptive streaming are incorrect, then the adaptive streaming cannot work at all with those streams.
-
Steve Lhomme authored
It can only be loaded with the proper name, it is not automatically loaded. It is necessary to know when opening the module because we start parsing the Matroska data to find the mandatory headers and the Cues may be parsed during that time.
-
Steve Lhomme authored
-
Steve Lhomme authored
-
- Oct 04, 2020
-
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
Refs #21860.
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
When formatting a message to HTTP 1.1, chunked encoding is often necessary. However if the input message structure is not tied to any specific HTTP version, it cannot contain the chunked encoding, which will only be added when formatting.
-
- Oct 03, 2020
-
-
Rémi Denis-Courmont authored
-
Rémi Denis-Courmont authored
-