void FFAudioStream::load_markers()
{
IndexState *index_state = ffmpeg->file_base->asset->index_state;
+ if( index_state->marker_status == MARKERS_NOTTESTED ) return;
if( !index_state || idx >= index_state->audio_markers.size() ) return;
FFStream::load_markers(*index_state->audio_markers[idx], sample_rate);
}
{
if( asset->format != FILE_FFMPEG ) return;
strcpy(asset->fformat, text);
- strcpy(asset->ff_audio_options, "");
- strcpy(asset->ff_video_options, "");
- asset->audio_data = !load_defaults("audio", text, asset->acodec,
- asset->ff_audio_options, sizeof(asset->ff_audio_options));
- asset->video_data = !load_defaults("video", text, asset->vcodec,
- asset->ff_video_options, sizeof(asset->ff_video_options));
+ if( !asset->ff_audio_options[0] ) {
+ asset->audio_data = !load_defaults("audio", text, asset->acodec,
+ asset->ff_audio_options, sizeof(asset->ff_audio_options));
+ }
+ if( !asset->ff_video_options[0] ) {
+ asset->video_data = !load_defaults("video", text, asset->vcodec,
+ asset->ff_video_options, sizeof(asset->ff_video_options));
+ }
}
int FFMPEG::get_encoder(const char *options,
int got_frame = 0;
int ret = aud->decode_frame(&pkt, frame, got_frame);
if( ret <= 0 ) break;
- if( got_frame ) {
+ if( got_frame && frame->channels == nch ) {
float *samples;
int len = aud->get_samples(samples,
&frame->extended_data[0], frame->nb_samples);