Add subtitle scale option to video player backend
This commit is contained in:
@@ -18,3 +18,4 @@ repos:
|
|||||||
args: ["--", "-Dwarnings"]
|
args: ["--", "-Dwarnings"]
|
||||||
- id: cargo-test
|
- id: cargo-test
|
||||||
- id: cargo-fmt
|
- id: cargo-fmt
|
||||||
|
exclude: video_player_mpv/
|
||||||
|
@@ -95,6 +95,9 @@ pub trait VideoPlayerBackend: fmt::Debug {
|
|||||||
/// Set the current audio track.
|
/// Set the current audio track.
|
||||||
fn set_audio_track(&self, audio_track_id: Option<usize>);
|
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.
|
/// 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>);
|
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));
|
.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) {
|
fn disconnect_signal_handler(&mut self, id: &Uuid) {
|
||||||
match self.signal_handler_ids.remove(id) {
|
match self.signal_handler_ids.remove(id) {
|
||||||
Some(signal_handler_id) => {
|
Some(signal_handler_id) => {
|
||||||
|
@@ -1,3 +1,3 @@
|
|||||||
Generated by gir (https://github.com/gtk-rs/gir @ 428c880ecf0b)
|
Generated by gir (https://github.com/gtk-rs/gir @ 428c880ecf0b)
|
||||||
from sys/build (@ 6aaf92b050cd)
|
from sys/build (@ c9cffe18b7d6)
|
||||||
from sys/gir-files (@ 20031a537e40)
|
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")]
|
#[doc(alias = "vpm_video_player_mpv_set_subtitle_track")]
|
||||||
pub fn set_subtitle_track(&self, subtitle_track_id: u32) {
|
pub fn set_subtitle_track(&self, subtitle_track_id: u32) {
|
||||||
unsafe {
|
unsafe {
|
||||||
|
@@ -378,6 +378,22 @@ and/or use gtk-doc annotations. -->
|
|||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</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"
|
<method name="set_subtitle_track"
|
||||||
c:identifier="vpm_video_player_mpv_set_subtitle_track">
|
c:identifier="vpm_video_player_mpv_set_subtitle_track">
|
||||||
<source-position filename="video-player-mpv/video-player-mpv.h"
|
<source-position filename="video-player-mpv/video-player-mpv.h"
|
||||||
|
@@ -1,3 +1,3 @@
|
|||||||
Generated by gir (https://github.com/gtk-rs/gir @ 428c880ecf0b)
|
Generated by gir (https://github.com/gtk-rs/gir @ 428c880ecf0b)
|
||||||
from build (@ 6aaf92b050cd)
|
from build (@ 26518e04b345)
|
||||||
from gir-files (@ 20031a537e40)
|
from gir-files (@ 20031a537e40)
|
||||||
|
@@ -136,6 +136,10 @@ extern "C" {
|
|||||||
audio_track_id: c_uint,
|
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_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(
|
pub fn vpm_video_player_mpv_set_subtitle_track(
|
||||||
self_: *mut VpmVideoPlayerMpv,
|
self_: *mut VpmVideoPlayerMpv,
|
||||||
subtitle_track_id: c_uint,
|
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;
|
uint64_t id = (uint64_t)subtitle_track_id;
|
||||||
mpv_set_property(self->mpv_ctx->handle, "sid", MPV_FORMAT_INT64, &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,
|
void vpm_video_player_mpv_set_subtitle_track(VpmVideoPlayerMpv *self,
|
||||||
uint subtitle_track_id);
|
uint subtitle_track_id);
|
||||||
|
|
||||||
|
void vpm_video_player_mpv_set_subtitle_scale(VpmVideoPlayerMpv *self,
|
||||||
|
double subtitle_scale);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
Reference in New Issue
Block a user