diff --git a/src/guacenc/display.c b/src/guacenc/display.c index 21af2183..6892d24a 100644 --- a/src/guacenc/display.c +++ b/src/guacenc/display.c @@ -89,7 +89,7 @@ guacenc_display* guacenc_display_alloc() { /* STUB: Prepare video encoding */ guacenc_video* video = guacenc_video_alloc("/tmp/test.mpg", "mpeg4", - 640, 480, 25, 400000); + 640, 480, 400000); if (video == NULL) return NULL; diff --git a/src/guacenc/video.c b/src/guacenc/video.c index 569a7053..8c7dd45f 100644 --- a/src/guacenc/video.c +++ b/src/guacenc/video.c @@ -36,7 +36,7 @@ #include guacenc_video* guacenc_video_alloc(const char* path, const char* codec_name, - int width, int height, int framerate, int bitrate) { + int width, int height, int bitrate) { /* Pull codec based on name */ AVCodec* codec = avcodec_find_encoder_by_name(codec_name); @@ -58,7 +58,7 @@ guacenc_video* guacenc_video_alloc(const char* path, const char* codec_name, context->bit_rate = bitrate; context->width = width; context->height = height; - context->time_base = (AVRational) { 1, framerate }; + context->time_base = (AVRational) { 1, GUACENC_VIDEO_FRAMERATE }; context->gop_size = 10; context->max_b_frames = 1; context->pix_fmt = AV_PIX_FMT_YUV420P; @@ -97,7 +97,6 @@ guacenc_video* guacenc_video_alloc(const char* path, const char* codec_name, video->frame = frame; video->width = width; video->height = height; - video->frame_duration = 1000 / framerate; video->bitrate = bitrate; /* No frames have been written or prepared yet */ @@ -164,7 +163,7 @@ int guacenc_video_advance_timeline(guacenc_video* video, /* Calculate the number of frames that should have been written */ int elapsed = (timestamp - video->last_timestamp) - / video->frame_duration; + * GUACENC_VIDEO_FRAMERATE / 1000; /* Keep previous timestamp if insufficient time has elapsed */ if (elapsed == 0) diff --git a/src/guacenc/video.h b/src/guacenc/video.h index 630cfa79..398ce410 100644 --- a/src/guacenc/video.h +++ b/src/guacenc/video.h @@ -31,6 +31,11 @@ #include +/** + * The framerate at which video should be encoded, in frames per second. + */ +#define GUACENC_VIDEO_FRAMERATE 25 + /** * A video which is actively being encoded. Frames can be added to the video * as they are generated, along with their associated timestamps, and the @@ -60,11 +65,6 @@ typedef struct guacenc_video { */ int height; - /** - * The duration of a single frame in milliseconds. - */ - int frame_duration; - /** * The desired output bitrate of the video, in bits per second. */ @@ -112,16 +112,12 @@ typedef struct guacenc_video { * @param height * The height of the desired video, in pixels. * - * @param framerate - * The rate at which frames should be encoded within the video, in frames - * per second. - * * @param bitrate * The desired overall bitrate of the resulting encoded video, in kilobits * per second. */ guacenc_video* guacenc_video_alloc(const char* path, const char* codec_name, - int width, int height, int framerate, int bitrate); + int width, int height, int bitrate); /** * Advances the timeline of the encoding process to the given timestamp, such