fix build
Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
parent
6b1645f44d
commit
e3b66af8af
@ -1753,7 +1753,7 @@ pub fn start_video_audio_threads<F>(
|
|||||||
Arc<AtomicUsize>,
|
Arc<AtomicUsize>,
|
||||||
)
|
)
|
||||||
where
|
where
|
||||||
F: 'static + FnMut(&scrap::ImageRgb) + Send,
|
F: 'static + FnMut(&mut scrap::ImageRgb) + Send,
|
||||||
{
|
{
|
||||||
let (video_sender, video_receiver) = mpsc::channel::<MediaData>();
|
let (video_sender, video_receiver) = mpsc::channel::<MediaData>();
|
||||||
let video_queue = Arc::new(ArrayQueue::<VideoFrame>::new(VIDEO_QUEUE_SIZE));
|
let video_queue = Arc::new(ArrayQueue::<VideoFrame>::new(VIDEO_QUEUE_SIZE));
|
||||||
|
@ -224,7 +224,7 @@ impl VideoRenderer {
|
|||||||
self.height = height;
|
self.height = height;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn on_rgba(&self, rgba: &scrap::ImageRgb) {
|
pub fn on_rgba(&self, rgba: &mut scrap::ImageRgb) {
|
||||||
if self.ptr == usize::default() {
|
if self.ptr == usize::default() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -500,7 +500,7 @@ impl InvokeUiSession for FlutterHandler {
|
|||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
#[cfg(not(feature = "flutter_texture_render"))]
|
#[cfg(not(feature = "flutter_texture_render"))]
|
||||||
fn on_rgba(&self, rgba: &scrap::ImageRgb) {
|
fn on_rgba(&self, rgba: &mut scrap::ImageRgb) {
|
||||||
// If the current rgba is not fetched by flutter, i.e., is valid.
|
// If the current rgba is not fetched by flutter, i.e., is valid.
|
||||||
// We give up sending a new event to flutter.
|
// We give up sending a new event to flutter.
|
||||||
if self.rgba_valid.load(Ordering::Relaxed) {
|
if self.rgba_valid.load(Ordering::Relaxed) {
|
||||||
@ -508,7 +508,7 @@ impl InvokeUiSession for FlutterHandler {
|
|||||||
}
|
}
|
||||||
self.rgba_valid.store(true, Ordering::Relaxed);
|
self.rgba_valid.store(true, Ordering::Relaxed);
|
||||||
// Return the rgba buffer to the video handler for reusing allocated rgba buffer.
|
// Return the rgba buffer to the video handler for reusing allocated rgba buffer.
|
||||||
std::mem::swap::<Vec<u8>>(rgba.raw, &mut *self.rgba.write().unwrap());
|
std::mem::swap::<Vec<u8>>(&mut rgba.raw, &mut *self.rgba.write().unwrap());
|
||||||
if let Some(stream) = &*self.event_stream.read().unwrap() {
|
if let Some(stream) = &*self.event_stream.read().unwrap() {
|
||||||
stream.add(EventToUI::Rgba);
|
stream.add(EventToUI::Rgba);
|
||||||
}
|
}
|
||||||
@ -516,7 +516,7 @@ impl InvokeUiSession for FlutterHandler {
|
|||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
#[cfg(feature = "flutter_texture_render")]
|
#[cfg(feature = "flutter_texture_render")]
|
||||||
fn on_rgba(&self, rgba: &scrap::ImageRgb) {
|
fn on_rgba(&self, rgba: &mut scrap::ImageRgb) {
|
||||||
self.renderer.read().unwrap().on_rgba(rgba);
|
self.renderer.read().unwrap().on_rgba(rgba);
|
||||||
if *self.notify_rendered.read().unwrap() {
|
if *self.notify_rendered.read().unwrap() {
|
||||||
return;
|
return;
|
||||||
|
@ -223,12 +223,12 @@ impl InvokeUiSession for SciterHandler {
|
|||||||
self.call("adaptSize", &make_args!());
|
self.call("adaptSize", &make_args!());
|
||||||
}
|
}
|
||||||
|
|
||||||
fn on_rgba(&self, rgba: &scrap::ImageRgb) {
|
fn on_rgba(&self, rgba: &mut scrap::ImageRgb) {
|
||||||
VIDEO
|
VIDEO
|
||||||
.lock()
|
.lock()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.as_mut()
|
.as_mut()
|
||||||
.map(|v| v.render_frame(rgba.raw).ok());
|
.map(|v| v.render_frame(&rgba.raw).ok());
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_peer_info(&self, pi: &PeerInfo) {
|
fn set_peer_info(&self, pi: &PeerInfo) {
|
||||||
|
@ -926,7 +926,7 @@ pub trait InvokeUiSession: Send + Sync + Clone + 'static + Sized + Default {
|
|||||||
fn update_block_input_state(&self, on: bool);
|
fn update_block_input_state(&self, on: bool);
|
||||||
fn job_progress(&self, id: i32, file_num: i32, speed: f64, finished_size: f64);
|
fn job_progress(&self, id: i32, file_num: i32, speed: f64, finished_size: f64);
|
||||||
fn adapt_size(&self);
|
fn adapt_size(&self);
|
||||||
fn on_rgba(&self, rgba: &scrap::ImageRgb);
|
fn on_rgba(&self, rgba: &mut scrap::ImageRgb);
|
||||||
fn msgbox(&self, msgtype: &str, title: &str, text: &str, link: &str, retry: bool);
|
fn msgbox(&self, msgtype: &str, title: &str, text: &str, link: &str, retry: bool);
|
||||||
#[cfg(any(target_os = "android", target_os = "ios"))]
|
#[cfg(any(target_os = "android", target_os = "ios"))]
|
||||||
fn clipboard(&self, content: String);
|
fn clipboard(&self, content: String);
|
||||||
@ -1207,7 +1207,7 @@ pub async fn io_loop<T: InvokeUiSession>(handler: Session<T>) {
|
|||||||
let frame_count_cl = frame_count.clone();
|
let frame_count_cl = frame_count.clone();
|
||||||
let ui_handler = handler.ui_handler.clone();
|
let ui_handler = handler.ui_handler.clone();
|
||||||
let (video_sender, audio_sender, video_queue, decode_fps) =
|
let (video_sender, audio_sender, video_queue, decode_fps) =
|
||||||
start_video_audio_threads(move |data: &scrap::ImageRgb| {
|
start_video_audio_threads(move |data: &mut scrap::ImageRgb| {
|
||||||
frame_count_cl.fetch_add(1, Ordering::Relaxed);
|
frame_count_cl.fetch_add(1, Ordering::Relaxed);
|
||||||
ui_handler.on_rgba(data);
|
ui_handler.on_rgba(data);
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user