mirror of
https://github.com/iDescriptor/iDescriptor.git
synced 2026-06-22 03:45:51 +08:00
cargo fmt
This commit is contained in:
+22
-26
@@ -6,15 +6,14 @@ use macros::QtThreading;
|
||||
use qmetaobject::prelude::*;
|
||||
use qttypes::{QStringList, QVariantMap};
|
||||
|
||||
|
||||
use cpp::*;
|
||||
use std::ffi::CString;
|
||||
use std::os::raw::c_void;
|
||||
use std::os::raw::{c_char, c_int};
|
||||
use std::sync::atomic::AtomicUsize;
|
||||
use std::sync::atomic::Ordering;
|
||||
use cpp::*;
|
||||
|
||||
static VIDEO_ITEM_PTR : AtomicUsize = AtomicUsize::new(0);
|
||||
static VIDEO_ITEM_PTR: AtomicUsize = AtomicUsize::new(0);
|
||||
|
||||
unsafe extern "C" {
|
||||
fn init_uxplay(argc: c_int, argv: *mut *mut c_char) -> c_int;
|
||||
@@ -29,50 +28,47 @@ extern "C" fn rust_uxplay_get_video_item() -> *mut c_void {
|
||||
VIDEO_ITEM_PTR.load(Ordering::Acquire) as *mut c_void
|
||||
}
|
||||
|
||||
|
||||
extern "C" fn rust_uxplay_connection_cb(connected : bool) {
|
||||
|
||||
}
|
||||
|
||||
extern "C" fn rust_uxplay_connection_cb(connected: bool) {}
|
||||
|
||||
#[derive(QObject, Default, QtThreading)]
|
||||
pub struct Airplay {
|
||||
base: qt_base_class!(trait QObject),
|
||||
init : qt_method!(fn(&self, video_item : QVariant) -> bool),
|
||||
load_gst_gl : qt_method!(fn(&self) -> bool),
|
||||
connection_change : qt_signal!(connected: bool)
|
||||
init: qt_method!(fn(&self, video_item: QVariant) -> bool),
|
||||
load_gst_gl: qt_method!(fn(&self) -> bool),
|
||||
connection_change: qt_signal!(connected: bool),
|
||||
}
|
||||
|
||||
impl Airplay {
|
||||
|
||||
fn load_gst_gl(&self) -> bool {
|
||||
crate::utils::force_load_gst_gl()
|
||||
crate::utils::force_load_gst_gl()
|
||||
}
|
||||
|
||||
fn init(&self, video_item: QVariant ) -> bool {
|
||||
|
||||
fn init(&self, video_item: QVariant) -> bool {
|
||||
let ptr = crate::utils::qvariant_to_ptr(video_item);
|
||||
|
||||
VIDEO_ITEM_PTR.store(ptr as usize, Ordering::Release);
|
||||
unsafe {
|
||||
set_uxplay_gl_callbacks(
|
||||
rust_uxplay_connection_cb,
|
||||
rust_uxplay_get_video_item
|
||||
);
|
||||
unsafe {
|
||||
set_uxplay_gl_callbacks(rust_uxplay_connection_cb, rust_uxplay_get_video_item);
|
||||
}
|
||||
|
||||
std::thread::spawn(||{
|
||||
std::thread::spawn(|| {
|
||||
let arg0 = CString::new("uxplay").unwrap();
|
||||
let arg1 = CString::new("-p").unwrap();
|
||||
let arg2 =CString::new("-fps").unwrap();
|
||||
let arg3 =CString::new("60").unwrap();
|
||||
let arg2 = CString::new("-fps").unwrap();
|
||||
let arg3 = CString::new("60").unwrap();
|
||||
|
||||
let mut c_args = vec![arg0.as_ptr() as *mut c_char, arg1.as_ptr() as *mut c_char, arg2.as_ptr() as *mut c_char,arg3.as_ptr() as *mut c_char, std::ptr::null_mut()];
|
||||
let mut c_args = vec![
|
||||
arg0.as_ptr() as *mut c_char,
|
||||
arg1.as_ptr() as *mut c_char,
|
||||
arg2.as_ptr() as *mut c_char,
|
||||
arg3.as_ptr() as *mut c_char,
|
||||
std::ptr::null_mut(),
|
||||
];
|
||||
|
||||
unsafe {
|
||||
unsafe {
|
||||
init_uxplay((c_args.len() - 1) as i32, c_args.as_mut_ptr());
|
||||
}
|
||||
});
|
||||
true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-3
@@ -632,8 +632,7 @@ pub fn force_load_gst_gl() -> bool {
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
pub fn qvariant_to_ptr(item : QVariant) -> usize {
|
||||
pub fn qvariant_to_ptr(item: QVariant) -> usize {
|
||||
cpp::cpp!(unsafe [item as "QVariant"] -> usize as "uintptr_t" {
|
||||
QObject* o = item.value<QObject *>();
|
||||
if (!o) return 0;
|
||||
@@ -644,4 +643,4 @@ pub fn qvariant_to_ptr(item : QVariant) -> usize {
|
||||
|
||||
return reinterpret_cast<uintptr_t>(q);
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user