pub struct Audio(/* private fields */);Implementations§
Source§impl Audio
impl Audio
Sourcepub fn empty() -> Self
pub fn empty() -> Self
Examples found in repository?
examples/transcode-audio.rs (line 163)
162 fn get_and_process_filtered_frames(&mut self, octx: &mut format::context::Output) {
163 let mut filtered = frame::Audio::empty();
164 while self
165 .filter
166 .get("out")
167 .unwrap()
168 .sink()
169 .frame(&mut filtered)
170 .is_ok()
171 {
172 self.send_frame_to_encoder(&filtered);
173 self.receive_and_process_encoded_packets(octx);
174 }
175 }
176
177 fn send_packet_to_decoder(&mut self, packet: &ffmpeg::Packet) {
178 self.decoder.send_packet(packet).unwrap();
179 }
180
181 fn send_eof_to_decoder(&mut self) {
182 self.decoder.send_eof().unwrap();
183 }
184
185 fn receive_and_process_decoded_frames(&mut self, octx: &mut format::context::Output) {
186 let mut decoded = frame::Audio::empty();
187 while self.decoder.receive_frame(&mut decoded).is_ok() {
188 let timestamp = decoded.timestamp();
189 decoded.set_pts(timestamp);
190 self.add_frame_to_filter(&decoded);
191 self.get_and_process_filtered_frames(octx);
192 }
193 }pub fn new(format: Sample, samples: usize, layout: ChannelLayout) -> Self
pub fn format(&self) -> Sample
pub fn set_format(&mut self, value: Sample)
pub fn channel_layout(&self) -> ChannelLayout
pub fn set_channel_layout(&mut self, value: ChannelLayout)
pub fn channels(&self) -> u16
pub fn rate(&self) -> u32
pub fn set_rate(&mut self, value: u32)
pub fn samples(&self) -> usize
pub fn set_samples(&mut self, value: usize)
pub fn is_planar(&self) -> bool
pub fn is_packed(&self) -> bool
pub fn planes(&self) -> usize
pub fn plane<T: Sample>(&self, index: usize) -> &[T]
pub fn plane_mut<T: Sample>(&mut self, index: usize) -> &mut [T]
pub fn data(&self, index: usize) -> &[u8] ⓘ
pub fn data_mut(&mut self, index: usize) -> &mut [u8] ⓘ
Methods from Deref<Target = Frame>§
pub unsafe fn as_ptr(&self) -> *const AVFrame
pub unsafe fn as_mut_ptr(&mut self) -> *mut AVFrame
pub unsafe fn is_empty(&self) -> bool
pub fn is_key(&self) -> bool
pub fn is_corrupt(&self) -> bool
pub fn decode_error_flags(&self) -> DecodeError
pub fn has_decode_errors(&self) -> bool
pub fn packet(&self) -> Packet
pub fn pts(&self) -> Option<i64>
Sourcepub fn set_pts(&mut self, value: Option<i64>)
pub fn set_pts(&mut self, value: Option<i64>)
Examples found in repository?
More examples
examples/transcode-x264.rs (line 111)
99 fn receive_and_process_decoded_frames(
100 &mut self,
101 octx: &mut format::context::Output,
102 ost_time_base: Rational,
103 ) {
104 let mut frame = frame::Video::empty();
105 while self.decoder.receive_frame(&mut frame).is_ok() {
106 self.frame_count += 1;
107 let timestamp = frame.timestamp();
108 self.log_progress(f64::from(
109 Rational(timestamp.unwrap_or(0) as i32, 1) * self.input_time_base,
110 ));
111 frame.set_pts(timestamp);
112 frame.set_kind(picture::Type::None);
113 self.send_frame_to_encoder(&frame);
114 self.receive_and_process_encoded_packets(octx, ost_time_base);
115 }
116 }Sourcepub fn timestamp(&self) -> Option<i64>
pub fn timestamp(&self) -> Option<i64>
Examples found in repository?
More examples
examples/transcode-x264.rs (line 107)
99 fn receive_and_process_decoded_frames(
100 &mut self,
101 octx: &mut format::context::Output,
102 ost_time_base: Rational,
103 ) {
104 let mut frame = frame::Video::empty();
105 while self.decoder.receive_frame(&mut frame).is_ok() {
106 self.frame_count += 1;
107 let timestamp = frame.timestamp();
108 self.log_progress(f64::from(
109 Rational(timestamp.unwrap_or(0) as i32, 1) * self.input_time_base,
110 ));
111 frame.set_pts(timestamp);
112 frame.set_kind(picture::Type::None);
113 self.send_frame_to_encoder(&frame);
114 self.receive_and_process_encoded_packets(octx, ost_time_base);
115 }
116 }pub fn quality(&self) -> usize
pub fn flags(&self) -> Flags
pub fn metadata(&self) -> DictionaryRef<'_>
pub fn set_metadata(&mut self, value: Dictionary<'_>)
pub fn side_data(&self, kind: Type) -> Option<SideData<'_>>
pub fn new_side_data(&mut self, kind: Type, size: usize) -> Option<SideData<'_>>
pub fn remove_side_data(&mut self, kind: Type)
Trait Implementations§
impl Eq for Audio
impl StructuralPartialEq for Audio
Auto Trait Implementations§
impl Freeze for Audio
impl RefUnwindSafe for Audio
impl Send for Audio
impl Sync for Audio
impl Unpin for Audio
impl UnsafeUnpin for Audio
impl UnwindSafe for Audio
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more