From ba5ab9eceaeca62cb6e7526ad465387bfa33880d Mon Sep 17 00:00:00 2001 From: Jimmy Christensen Date: Mon, 9 Feb 2015 20:41:17 +0200 Subject: [PATCH] Recording works with gl. --- src/main.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main.c b/src/main.c index 6c21776..eaaf73d 100644 --- a/src/main.c +++ b/src/main.c @@ -51,7 +51,7 @@ #include #include -#define FFMPEG_VID_STR "ffmpeg -y -f rawvideo -pix_fmt rgb565le -s:v 320x240 -r 50 -i - -c:v libx264 -pix_fmt yuv420p -vb 90000k -r 60 %s_nosound.mp4" +#define FFMPEG_VID_STR "ffmpeg -y -f rawvideo -pix_fmt %s -s:v 320x240 -r 50 -i - -c:v libx264 -pix_fmt yuv420p -vb 90000k -r 60 %s_nosound.mp4" #define FFMPEG_AUD_STR "ffmpeg -y -f s16le -ar 44100 -ac 2 -i %s -i %s_nosound.mp4 -vcodec copy -acodec libvorbis -ab 192k -pix_fmt yuv420p -r 60 %s" #endif @@ -269,8 +269,6 @@ int main(int argc, char *argv[]) sprintf(recSndFileName, "%s_snd.raw", argv[i]); sprintf(recVidFileName, "%s", argv[i]); - sprintf(ffmpegCmd, FFMPEG_VID_STR, recVidFileName); - record=1; } else { @@ -458,6 +456,9 @@ int main(int argc, char *argv[]) if(record) { + + sprintf(ffmpegCmd, FFMPEG_VID_STR, ( (screen->format->BytesPerPixel==2)?"rgb565le":"bgr24"), recVidFileName); + //Check destFile does not exist if( isFile(recVidFileName) ) { @@ -539,7 +540,7 @@ int main(int argc, char *argv[]) #if defined(linux) if(record) { - fwrite( screen->pixels, sizeof(uint16_t), screen->w*screen->h, recPipe ); + fwrite( screen->pixels, (screen->format->BytesPerPixel), (screen->w*screen->h), recPipe ); } #endif