Explorar o código

Another ffmpeg api fix

AlexVinS %!s(int64=10) %!d(string=hai) anos
pai
achega
d6bb599bc8
Modificáronse 1 ficheiros con 16 adicións e 19 borrados
  1. 16 19
      client/CVideoHandler.h

+ 16 - 19
client/CVideoHandler.h

@@ -54,22 +54,7 @@ extern "C" {
 }
 
 //compatibility for libav 9.18 in ubuntu 14.04, 52.66.100 is ffmpeg 2.2.3
-#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(52, 66, 100) 
-#define VCMI_USE_OLD_AVUTIL
-#endif // LIBSWSCALE_VERSION_INT
-
-#ifdef VCMI_USE_OLD_AVUTIL
-
-#define AVPixelFormat PixelFormat 
-#define AV_PIX_FMT_NONE PIX_FMT_NONE
-#define AV_PIX_FMT_YUV420P PIX_FMT_YUV420P
-#define AV_PIX_FMT_BGR565 PIX_FMT_BGR565
-#define AV_PIX_FMT_BGR24 PIX_FMT_BGR24
-#define AV_PIX_FMT_BGR32 PIX_FMT_BGR32
-#define AV_PIX_FMT_RGB565 PIX_FMT_RGB565
-#define AV_PIX_FMT_RGB24 PIX_FMT_RGB24
-#define AV_PIX_FMT_RGB32 PIX_FMT_RGB32
-
+#if (LIBAVUTIL_VERSION_INT < AV_VERSION_INT(52, 66, 100))
 inline AVFrame * av_frame_alloc()
 {
 	return avcodec_alloc_frame();
@@ -80,16 +65,28 @@ inline void av_frame_free(AVFrame ** frame)
 	av_free(*frame);
 	*frame = nullptr;
 }
-
 #endif // VCMI_USE_OLD_AVUTIL
 
+//fix for travis-ci
+#if (LIBAVUTIL_VERSION_INT < AV_VERSION_INT(52, 0, 0))
+	#define AVPixelFormat PixelFormat
+	#define AV_PIX_FMT_NONE PIX_FMT_NONE
+	#define AV_PIX_FMT_YUV420P PIX_FMT_YUV420P
+	#define AV_PIX_FMT_BGR565 PIX_FMT_BGR565
+	#define AV_PIX_FMT_BGR24 PIX_FMT_BGR24
+	#define AV_PIX_FMT_BGR32 PIX_FMT_BGR32
+	#define AV_PIX_FMT_RGB565 PIX_FMT_RGB565
+	#define AV_PIX_FMT_RGB24 PIX_FMT_RGB24
+	#define AV_PIX_FMT_RGB32 PIX_FMT_RGB32
+#endif
+
 class CVideoPlayer : public IMainVideoPlayer
 {
 	int stream;					// stream index in video
 	AVFormatContext *format;
 	AVCodecContext *codecContext; // codec context for stream
 	AVCodec *codec;
-	AVFrame *frame; 
+	AVFrame *frame;
 	struct SwsContext *sws;
 
 	AVIOContext * context;
@@ -120,7 +117,7 @@ public:
 	void show(int x, int y, SDL_Surface *dst, bool update = true) override; //blit current frame
 	void redraw(int x, int y, SDL_Surface *dst, bool update = true) override; //reblits buffer
 	void update(int x, int y, SDL_Surface *dst, bool forceRedraw, bool update = true) override; //moves to next frame if appropriate, and blits it or blits only if redraw parameter is set true
-	
+
 	// Opens video, calls playVideo, closes video; returns playVideo result (if whole video has been played)
 	bool openAndPlayVideo(std::string name, int x, int y, SDL_Surface *dst, bool stopOnKey = false, bool scale = false) override;