_timed_subtitle->subtitle()->set_position (Position (p.x - _film->crop().left, p.y - _film->crop().top));
}
}
-
-int
-Decoder::bytes_per_audio_sample () const
-{
- return av_get_bytes_per_sample (audio_sample_format ());
-}
virtual int audio_channels () const = 0;
/** @return audio sampling rate in Hz */
virtual int audio_sample_rate () const = 0;
- /** @return format of audio samples */
- virtual AVSampleFormat audio_sample_format () const = 0;
virtual int64_t audio_channel_layout () const = 0;
virtual bool has_subtitles () const = 0;
void process_subtitle (boost::shared_ptr<TimedSubtitle>);
void repeat_last_video ();
- int bytes_per_audio_sample () const;
-
/** our Film */
boost::shared_ptr<Film> _film;
/** our options */
return n.str ();
}
+int
+FFmpegDecoder::bytes_per_audio_sample () const
+{
+ return av_get_bytes_per_sample (audio_sample_format ());
+}
Size native_size () const;
int audio_channels () const;
int audio_sample_rate () const;
- AVSampleFormat audio_sample_format () const;
int64_t audio_channel_layout () const;
bool has_subtitles () const;
int time_base_denominator () const;
int sample_aspect_ratio_numerator () const;
int sample_aspect_ratio_denominator () const;
+ AVSampleFormat audio_sample_format () const;
+ int bytes_per_audio_sample () const;
void setup_general ();
void setup_video ();
return 0;
}
- AVSampleFormat audio_sample_format () const {
- return AV_SAMPLE_FMT_NONE;
- }
-
int64_t audio_channel_layout () const {
return 0;
}
return 0;
}
-AVSampleFormat
-TIFFDecoder::audio_sample_format () const
-{
- return AV_SAMPLE_FMT_NONE;
-}
-
-
int64_t
TIFFDecoder::audio_channel_layout () const
{
Size native_size () const;
int audio_channels () const;
int audio_sample_rate () const;
- AVSampleFormat audio_sample_format () const;
int64_t audio_channel_layout () const;
bool has_subtitles () const {
return false;