refactor: use decoder name from ctx

This commit is contained in:
kieran 2024-11-08 11:48:49 +00:00
parent ff8b3df716
commit 6dbd1e15cd
No known key found for this signature in database
GPG Key ID: DE71CEB3925BE941
3 changed files with 7 additions and 4 deletions

View File

@ -48,7 +48,6 @@ unsafe fn decode_input(demuxer: Demuxer, info: DemuxerInfo) {
.setup_decoder(stream, None)
.expect("decoder setup failed");
}
info!("{}", decoder);
loop_decoder(demuxer, decoder);
}

View File

@ -35,9 +35,9 @@ impl DecoderCodecContext {
/// Get the codec name
pub fn codec_name(&self) -> String {
let codec_name = unsafe { rstr!(avcodec_get_name((*self.codec).id)) };
let codec_name = unsafe { rstr!((*(*self).codec).name) };
if self.hw_config.is_null() {
codec_name.to_string()
format!("{}", codec_name)
} else {
let hw = unsafe { rstr!(av_hwdevice_get_type_name((*self.hw_config).device_type)) };
format!("{}_{}", codec_name, hw)

View File

@ -38,7 +38,11 @@ macro_rules! cstr {
#[macro_export]
macro_rules! rstr {
($str:expr) => {
core::ffi::CStr::from_ptr($str).to_str().unwrap()
if !$str.is_null() {
core::ffi::CStr::from_ptr($str).to_str().unwrap()
} else {
""
}
};
}