diff --git a/autogen.sh b/autogen.sh index 2a2e364ce9..8a096a0276 100755 --- a/autogen.sh +++ b/autogen.sh @@ -18,18 +18,28 @@ git submodule update if test -x $have_svn && [ $have_svn ]; then - if test ! -f $FFMPEG_CO_DIR/configure - then + co_ffmpeg=no + + if test ! -f $FFMPEG_CO_DIR/configure; then + co_ffmpeg=yes + else + if ! svn info gst-libs/ext/ffmpeg | grep "URL: $FFMPEG_SVN" > /dev/null; then + echo "FFmpeg checkout is on the wrong branch. Re-fetching." + co_ffmpeg=yes + fi + fi + + if [ "$co_ffmpeg" = "yes" ]; then # checkout ffmpeg from its repository rm -rf $FFMPEG_CO_DIR echo "+ getting ffmpeg from svn" svn -r $FFMPEG_REVISION co $FFMPEG_SVN $FFMPEG_CO_DIR - echo "+ updating externals" - svn update -r $FFMPEG_EXTERNALS_REVISION $FFMPEG_CO_DIR/libswscale else # update ffmpeg from its repository echo "+ updating ffmpeg checkout" svn -r $FFMPEG_REVISION up $FFMPEG_CO_DIR + fi + if [ "x$FFMPEG_EXTERNALS_REVISION" != "x" ]; then echo "+ updating externals" svn update -r $FFMPEG_EXTERNALS_REVISION $FFMPEG_CO_DIR/libswscale fi diff --git a/ffmpegrev b/ffmpegrev index f1ad70b50d..4d2f8cd2d9 100644 --- a/ffmpegrev +++ b/ffmpegrev @@ -1,8 +1,9 @@ FFMPEG_REVISION=18939 FFMPEG_CO_DIR=gst-libs/ext/ffmpeg FFMPEG_SVN=svn://svn.ffmpeg.org/ffmpeg/branches/0.5 -# Because ffmpeg checks out libswscale via an svn:externals, checking +# Because ffmpeg trunk checks out libswscale via an svn:externals, checking # out an old ffmpeg does not check out a corresponding libswscale. # Keep the swscale checkout manually synchronized, then. Update this -# when you update FFMPEG_REVISION. -FFMPEG_EXTERNALS_REVISION=29320 +# when you update FFMPEG_REVISION. Set it to empty if there's no +# external to update (as on ffmpeg 0.5 branch) +FFMPEG_EXTERNALS_REVISION= diff --git a/gst-libs/ext/Makefile.am b/gst-libs/ext/Makefile.am index cbafe3ac7a..d11bc963d4 100644 --- a/gst-libs/ext/Makefile.am +++ b/gst-libs/ext/Makefile.am @@ -29,7 +29,9 @@ distclean: dist-clean dist-local: svn -r $(FFMPEG_REVISION) co $(FFMPEG_SVN) $(TMP_DIST_DIR) - svn update -r $(FFMPEG_EXTERNALS_REVISION) $(TMP_DIST_DIR)/libswscale + @if [ "x$(FFMPEG_EXTERNALS_REVISION)" != x ]; then \ + svn update -r $(FFMPEG_EXTERNALS_REVISION) $(TMP_DIST_DIR)/libswscale; \ + fi mkdir $(DIST_DIR) pwd cp $(TMP_DIST_DIR)/*.c $(TMP_DIST_DIR)/*.h $(TMP_DIST_DIR)/Makefile $(TMP_DIST_DIR)/configure $(TMP_DIST_DIR)/version.sh $(DIST_DIR)