ffmpeg versioning mods from Andrew
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / pluginfclient.C
index a0756e73ab630dec12a803e6e8a22432f1c0fe21..32c3f4aae9846aa4ac76b8759fd6c4eb536260e7 100644 (file)
@@ -845,7 +845,8 @@ static AVRational best_frame_rate(double frame_rate)
        static const int m1 = 1001*12, m2 = 1000*12;
        static const int freqs[] = {
                40*m1, 48*m1, 50*m1, 60*m1, 80*m1,120*m1, 240*m1,
-               24*m2, 30*m2, 60*m2, 12*m2, 15*m2, 48*m2, 0,
+               24*m2, 30*m2, 60*m2, 12*m2, 15*m2, 48*m2, 90*m2,
+               100*m2, 120*m2, 144*m2, 72*m2, 0,
        };
        double max_err = 1.;
        int freq, best_freq = 0;
@@ -912,14 +913,22 @@ int PluginFAClient::get_inchannels()
 {
        AVFilterContext *fctx = ffilt->fctx;
        AVFilterLink **links = !fctx->nb_inputs ? 0 : fctx->inputs;
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(59,24,100)
+       return !links ? 0 : links[0]->ch_layout.nb_channels;
+#else
        return !links ? 0 : links[0]->channels;
+#endif
 }
 
 int PluginFAClient::get_outchannels()
 {
        AVFilterContext *fctx = ffilt->fctx;
        AVFilterLink **links = !fctx->nb_outputs ? 0 : fctx->outputs;
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(59,24,100)
+       return !links ? 0 : links[0]->ch_layout.nb_channels;
+#else
        return !links ? 0 : links[0]->channels;
+#endif
 }
 
 int PluginFAClient::process_buffer(int64_t size, Samples **buffer, int64_t start_position, int sample_rate)