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
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=
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)