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 164)
163 fn get_and_process_filtered_frames(&mut self, octx: &mut format::context::Output) {
164 let mut filtered = frame::Audio::empty();
165 while self
166 .filter
167 .get("out")
168 .unwrap()
169 .sink()
170 .frame(&mut filtered)
171 .is_ok()
172 {
173 self.send_frame_to_encoder(&filtered);
174 self.receive_and_process_encoded_packets(octx);
175 }
176 }
177
178 fn send_packet_to_decoder(&mut self, packet: &ffmpeg::Packet) {
179 self.decoder.send_packet(packet).unwrap();
180 }
181
182 fn send_eof_to_decoder(&mut self) {
183 self.decoder.send_eof().unwrap();
184 }
185
186 fn receive_and_process_decoded_frames(&mut self, octx: &mut format::context::Output) {
187 let mut decoded = frame::Audio::empty();
188 while self.decoder.receive_frame(&mut decoded).is_ok() {
189 let timestamp = decoded.timestamp();
190 decoded.set_pts(timestamp);
191 self.add_frame_to_filter(&decoded);
192 self.get_and_process_filtered_frames(octx);
193 }
194 }
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 set_channels(&mut self, value: 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 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 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