am7xxx-play: get the framerate from the video stream
[libam7xxx.git] / examples / am7xxx-play.c
index 54f92e9..8a52ae0 100644 (file)
@@ -199,8 +199,10 @@ static int video_output_init(struct video_output_ctx *output_ctx,
        output_codec_ctx->bit_rate   = (input_ctx->codec_ctx)->bit_rate;
        output_codec_ctx->width      = new_output_width;
        output_codec_ctx->height     = new_output_height;
        output_codec_ctx->bit_rate   = (input_ctx->codec_ctx)->bit_rate;
        output_codec_ctx->width      = new_output_width;
        output_codec_ctx->height     = new_output_height;
-       output_codec_ctx->time_base.num  = (input_ctx->codec_ctx)->time_base.num;
-       output_codec_ctx->time_base.den  = (input_ctx->codec_ctx)->time_base.den;
+       output_codec_ctx->time_base.num  =
+               (input_ctx->format_ctx)->streams[input_ctx->video_stream_index]->time_base.num;
+       output_codec_ctx->time_base.den  =
+               (input_ctx->format_ctx)->streams[input_ctx->video_stream_index]->time_base.den;
 
        /* When the raw format is requested we don't actually need to setup
         * and open a decoder
 
        /* When the raw format is requested we don't actually need to setup
         * and open a decoder
@@ -604,7 +606,7 @@ int main(int argc, char *argv[])
        am7xxx_context *ctx;
        am7xxx_device *dev;
 
        am7xxx_context *ctx;
        am7xxx_device *dev;
 
-       while ((opt = getopt(argc, argv, "f:i:o:s:uF:q:l:hp:")) != -1) {
+       while ((opt = getopt(argc, argv, "f:i:o:s:uF:q:l:p:h")) != -1) {
                switch (opt) {
                case 'f':
                        input_format_string = strdup(optarg);
                switch (opt) {
                case 'f':
                        input_format_string = strdup(optarg);
@@ -684,11 +686,6 @@ int main(int argc, char *argv[])
                                log_level = AM7XXX_LOG_ERROR;
                        }
                        break;
                                log_level = AM7XXX_LOG_ERROR;
                        }
                        break;
-               case 'h':
-                       usage(argv[0]);
-                       ret = 0;
-                       goto out;
-                       break;
                case 'p':
                        power_mode = atoi(optarg);
                        switch(power_mode) {
                case 'p':
                        power_mode = atoi(optarg);
                        switch(power_mode) {
@@ -705,6 +702,11 @@ int main(int argc, char *argv[])
                                goto out;
                        }
                        break;
                                goto out;
                        }
                        break;
+               case 'h':
+                       usage(argv[0]);
+                       ret = 0;
+                       goto out;
+                       break;
                default: /* '?' */
                        usage(argv[0]);
                        ret = -EINVAL;
                default: /* '?' */
                        usage(argv[0]);
                        ret = -EINVAL;