Add subtitle scale option to video player backend
This commit is contained in:
parent
26518e04b3
commit
8025156a25
|
@ -18,3 +18,4 @@ repos:
|
|||
args: ["--", "-Dwarnings"]
|
||||
- id: cargo-test
|
||||
- id: cargo-fmt
|
||||
exclude: video_player_mpv/
|
||||
|
|
|
@ -95,6 +95,9 @@ pub trait VideoPlayerBackend: fmt::Debug {
|
|||
/// Set the current audio track.
|
||||
fn set_audio_track(&self, audio_track_id: Option<usize>);
|
||||
|
||||
/// Set Subtitle scale.
|
||||
fn set_subtitle_scale(&self, subtitle_scale: f64);
|
||||
|
||||
/// Get notified when video player reaches the end of the current video.
|
||||
fn connect_end_of_stream(&mut self, callback: Box<dyn Fn() + Send + 'static>);
|
||||
|
||||
|
|
|
@ -208,6 +208,10 @@ impl VideoPlayerBackend for VideoPlayerBackendMpv {
|
|||
.set_audio_track(audio_track_id.map(|id| id as u32).unwrap_or(0));
|
||||
}
|
||||
|
||||
fn set_subtitle_scale(&self, subtitle_scale: f64) {
|
||||
self.widget.set_subtitle_scale(subtitle_scale);
|
||||
}
|
||||
|
||||
fn disconnect_signal_handler(&mut self, id: &Uuid) {
|
||||
match self.signal_handler_ids.remove(id) {
|
||||
Some(signal_handler_id) => {
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 428c880ecf0b)
|
||||
from sys/build (@ 6aaf92b050cd)
|
||||
from sys/build (@ c9cffe18b7d6)
|
||||
from sys/gir-files (@ 20031a537e40)
|
||||
|
|
|
@ -111,6 +111,13 @@ impl VideoPlayerMpv {
|
|||
}
|
||||
}
|
||||
|
||||
#[doc(alias = "vpm_video_player_mpv_set_subtitle_scale")]
|
||||
pub fn set_subtitle_scale(&self, subtitle_scale: f64) {
|
||||
unsafe {
|
||||
ffi::vpm_video_player_mpv_set_subtitle_scale(self.to_glib_none().0, subtitle_scale);
|
||||
}
|
||||
}
|
||||
|
||||
#[doc(alias = "vpm_video_player_mpv_set_subtitle_track")]
|
||||
pub fn set_subtitle_track(&self, subtitle_track_id: u32) {
|
||||
unsafe {
|
||||
|
|
|
@ -378,6 +378,22 @@ and/or use gtk-doc annotations. -->
|
|||
</parameter>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_subtitle_scale"
|
||||
c:identifier="vpm_video_player_mpv_set_subtitle_scale">
|
||||
<source-position filename="video-player-mpv/video-player-mpv.h"
|
||||
line="39"/>
|
||||
<return-value transfer-ownership="none">
|
||||
<type name="none" c:type="void"/>
|
||||
</return-value>
|
||||
<parameters>
|
||||
<instance-parameter name="self" transfer-ownership="none">
|
||||
<type name="VideoPlayerMpv" c:type="VpmVideoPlayerMpv*"/>
|
||||
</instance-parameter>
|
||||
<parameter name="subtitle_scale" transfer-ownership="none">
|
||||
<type name="gdouble" c:type="double"/>
|
||||
</parameter>
|
||||
</parameters>
|
||||
</method>
|
||||
<method name="set_subtitle_track"
|
||||
c:identifier="vpm_video_player_mpv_set_subtitle_track">
|
||||
<source-position filename="video-player-mpv/video-player-mpv.h"
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 428c880ecf0b)
|
||||
from build (@ 6aaf92b050cd)
|
||||
from build (@ 26518e04b345)
|
||||
from gir-files (@ 20031a537e40)
|
||||
|
|
|
@ -136,6 +136,10 @@ extern "C" {
|
|||
audio_track_id: c_uint,
|
||||
);
|
||||
pub fn vpm_video_player_mpv_set_mute(self_: *mut VpmVideoPlayerMpv, mute: bool);
|
||||
pub fn vpm_video_player_mpv_set_subtitle_scale(
|
||||
self_: *mut VpmVideoPlayerMpv,
|
||||
subtitle_scale: c_double,
|
||||
);
|
||||
pub fn vpm_video_player_mpv_set_subtitle_track(
|
||||
self_: *mut VpmVideoPlayerMpv,
|
||||
subtitle_track_id: c_uint,
|
||||
|
|
|
@ -460,3 +460,9 @@ void vpm_video_player_mpv_set_subtitle_track(VpmVideoPlayerMpv *self,
|
|||
uint64_t id = (uint64_t)subtitle_track_id;
|
||||
mpv_set_property(self->mpv_ctx->handle, "sid", MPV_FORMAT_INT64, &id);
|
||||
}
|
||||
|
||||
void vpm_video_player_mpv_set_subtitle_scale(VpmVideoPlayerMpv *self,
|
||||
double subtitle_scale) {
|
||||
mpv_set_option(self->mpv_ctx->handle, "sub-scale", MPV_FORMAT_DOUBLE,
|
||||
&subtitle_scale);
|
||||
}
|
||||
|
|
|
@ -36,4 +36,7 @@ int vpm_video_player_mpv_current_subtitle_track(VpmVideoPlayerMpv *self);
|
|||
void vpm_video_player_mpv_set_subtitle_track(VpmVideoPlayerMpv *self,
|
||||
uint subtitle_track_id);
|
||||
|
||||
void vpm_video_player_mpv_set_subtitle_scale(VpmVideoPlayerMpv *self,
|
||||
double subtitle_scale);
|
||||
|
||||
G_END_DECLS
|
||||
|
|
Loading…
Reference in New Issue