Sadly, the current build infrastructure doesn't let us build any external packages against openh264, so we have to include the gstreamer plugin build in the same source rpm. https://fedorahosted.org/fesco/ticket/1496 includes some background info why it can't be a separate package.epel9
parent
4cefd35e9b
commit
869b0f515c
@ -1,2 +1,3 @@
|
||||
/gmp-api-c5f1d0f.tar.gz
|
||||
/gst-plugins-bad-openh264-1.6.1.tar.xz
|
||||
/openh264-21e44bd.tar.gz
|
||||
|
@ -0,0 +1,203 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Process a gst-plugins-bad tarball to remove
|
||||
# unwanted GStreamer plugins.
|
||||
#
|
||||
# This script here is taken from Fedora gstreamer1-plugins-bad-free repo, with
|
||||
# only change being openh264 addition.
|
||||
#
|
||||
# See https://bugzilla.redhat.com/show_bug.cgi?id=532470
|
||||
# for details
|
||||
#
|
||||
# Bastien Nocera <bnocera@redhat.com> - 2010
|
||||
#
|
||||
|
||||
SOURCE="$1"
|
||||
NEW_SOURCE=`echo $SOURCE | sed 's/bad-/bad-openh264-/'`
|
||||
DIRECTORY=`echo $SOURCE | sed 's/\.tar\.xz//'`
|
||||
|
||||
ALLOWED="
|
||||
aacparse
|
||||
accurip
|
||||
adpcmdec
|
||||
adpcmenc
|
||||
aiff
|
||||
aiffparse
|
||||
amrparse
|
||||
asfmux
|
||||
audiofxbad
|
||||
audiomixer
|
||||
audioparsers
|
||||
audiovisualizers
|
||||
autoconvert
|
||||
bayer
|
||||
camerabin
|
||||
camerabin2
|
||||
cdxaparse
|
||||
coloreffects
|
||||
colorspace
|
||||
compositor
|
||||
dataurisrc
|
||||
dccp
|
||||
debugutils
|
||||
dtmf
|
||||
faceoverlay
|
||||
festival
|
||||
fieldanalysis
|
||||
freeverb
|
||||
freeze
|
||||
frei0r
|
||||
gaudieffects
|
||||
gdp
|
||||
geometrictransform
|
||||
h264parse
|
||||
hdvparse
|
||||
hls
|
||||
id3tag
|
||||
inter
|
||||
interlace
|
||||
invtelecine
|
||||
ivfparse
|
||||
ivtc
|
||||
jpegformat
|
||||
jp2kdecimator
|
||||
legacyresample
|
||||
librfb
|
||||
liveadder
|
||||
midi
|
||||
mve
|
||||
mpegdemux
|
||||
mpeg4videoparse
|
||||
mpegpsmux
|
||||
mpegtsdemux
|
||||
mpegtsmux
|
||||
mpegvideoparse
|
||||
mxf
|
||||
nsf
|
||||
nuvdemux
|
||||
onvif
|
||||
openh264
|
||||
patchdetect
|
||||
pcapparse
|
||||
pnm
|
||||
qtmux
|
||||
rawparse
|
||||
removesilence
|
||||
rtp
|
||||
rtpmux
|
||||
rtpvp8
|
||||
scaletempo
|
||||
sdi
|
||||
sdp
|
||||
segmentclip
|
||||
selector
|
||||
smooth
|
||||
speed
|
||||
stereo
|
||||
subenc
|
||||
tta
|
||||
valve
|
||||
videofilters
|
||||
videomaxrate
|
||||
videomeasure
|
||||
videoparsers
|
||||
videosignal
|
||||
vmnc
|
||||
yadif
|
||||
y4m
|
||||
"
|
||||
|
||||
NOT_ALLOWED="
|
||||
dvbsuboverlay
|
||||
dvdspu
|
||||
real
|
||||
siren
|
||||
"
|
||||
|
||||
error()
|
||||
{
|
||||
MESSAGE=$1
|
||||
echo $MESSAGE
|
||||
exit 1
|
||||
}
|
||||
|
||||
check_allowed()
|
||||
{
|
||||
MODULE=$1
|
||||
for i in $ALLOWED ; do
|
||||
if test x$MODULE = x$i ; then
|
||||
return 0;
|
||||
fi
|
||||
done
|
||||
# Ignore errors coming from ext/ directory
|
||||
# they require external libraries so are ineffective anyway
|
||||
return 1;
|
||||
}
|
||||
|
||||
check_not_allowed()
|
||||
{
|
||||
MODULE=$1
|
||||
for i in $NOT_ALLOWED ; do
|
||||
if test x$MODULE = x$i ; then
|
||||
return 0;
|
||||
fi
|
||||
done
|
||||
return 1;
|
||||
}
|
||||
|
||||
rm -rf $DIRECTORY
|
||||
tar xJf $SOURCE || error "Cannot unpack $SOURCE"
|
||||
pushd $DIRECTORY > /dev/null || error "Cannot open directory \"$DIRECTORY\""
|
||||
|
||||
unknown=""
|
||||
for subdir in gst ext sys; do
|
||||
for dir in $subdir/* ; do
|
||||
# Don't touch non-directories
|
||||
if ! [ -d $dir ] ; then
|
||||
continue;
|
||||
fi
|
||||
MODULE=`basename $dir`
|
||||
if ( check_not_allowed $MODULE ) ; then
|
||||
echo "**** Removing $MODULE ****"
|
||||
echo "Removing directory $dir"
|
||||
rm -r $dir || error "Cannot remove $dir"
|
||||
if grep -q "AG_GST_CHECK_PLUGIN($MODULE)" configure.ac ; then
|
||||
echo "Removing element check for $MODULE"
|
||||
grep -v "AG_GST_CHECK_PLUGIN($MODULE)" configure.ac > configure.ac.new && mv configure.ac.new configure.ac
|
||||
fi
|
||||
echo "Removing Makefile generation for $MODULE"
|
||||
grep -v "$dir/Makefile" configure.ac > configure.ac.new && mv configure.ac.new configure.ac
|
||||
# Urgh
|
||||
if test $MODULE = real ; then
|
||||
grep -v "AG_GST_DISABLE_PLUGIN(real)" configure.ac > configure.ac.new && mv configure.ac.new configure.ac
|
||||
fi
|
||||
echo "Removing documentation for $MODULE"
|
||||
if grep -q "$MODULE" docs/plugins/Makefile.am ; then
|
||||
grep -v $dir docs/plugins/Makefile.am > docs/plugins/Makefile.am.new && mv docs/plugins/Makefile.am.new docs/plugins/Makefile.am
|
||||
fi
|
||||
echo
|
||||
elif test $subdir = ext || test $subdir = sys; then
|
||||
# Ignore library or system non-blacklisted plugins
|
||||
continue;
|
||||
elif ! ( check_allowed $MODULE ) ; then
|
||||
echo "Unknown module in $dir"
|
||||
unknown="$unknown $dir"
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
echo
|
||||
|
||||
if test "x$unknown" != "x"; then
|
||||
echo -n "Aborting due to unkown modules: "
|
||||
echo "$unknown" | sed "s/ /\n /g"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
autoreconf
|
||||
|
||||
popd > /dev/null
|
||||
|
||||
tar cJf $NEW_SOURCE $DIRECTORY
|
||||
echo "$NEW_SOURCE is ready to use"
|
||||
|
Loading…
Reference in new issue