gstreamer 1.0 (1.2.4.1), vp8enc not available in libgstvpx.a

stic at free.fr stic at free.fr
Fri May 9 08:03:13 PDT 2014


Hi,
yes it does not seem to be available by default with android release.
You just have to rebuild vpx plugin using HAVE_VP8_ENCODER flag.
This is what I did for my own usage and vp8enc works great.

Regards.

----- Mail original -----
De: "Howard Wang" <howard at rti.com>
À: gstreamer-android at lists.freedesktop.org
Envoyé: Jeudi 8 Mai 2014 19:38:17
Objet: gstreamer 1.0 (1.2.4.1), vp8enc not available in libgstvpx.a

Hi,

I am trying to use the vp8enc plugin (in C-code) in an Android project.  
I am using the binary download unzipped from:

gstreamer-1.0-android-arm-1.2.4.1-debug.zip

I include the "vpx" plugins in my Android.mk.

When creating the pipeline  like this:

         gPipeline =
             (GstPipeline *)gst_parse_launch(
                 "appsrc name=\"src\" is-live=\"true\" 
do-timestamp=\"true\" "
                 "min-latency=0 max-latency=100000000 "
                 "caps=\"video/x-raw, format=RGB16, width=(int)640, 
height=(int)480,"
                 "framerate=(fraction)30/1\" "
                 "! videoconvert ! queue2 "
                 "! vp8enc speed=2 max-latency=2 quality=5.0 
max-keyframe-distance=3 threads=5 "
                 "! queue2 ! appsink name=\"sink\""
                 , NULL);

I get a Android message that the vp8enc element could not be found. 
However, if I change vp8enc to vp8dec in the pipeline, I can see (at 
higher gstreamer verbosity) that it finds the vp8dec element.

So, I look at lib/gstreamer-1.0/static/libgstvpx.a, and run

strings liblistvpx.a | grep vp8enc

the output is:

libgstvpx_la-gstvp8enc.o/
gstvp8enc.c

If I grep for vp8dec, I get:

libgstvpx_la-gstvp8dec.o/
gstvp8dec.c
vp8dec
gstvp8dec.c:268
gstvp8dec.c:237
gstvp8dec.c
gstvp8dec.h
gstvp8dec.c
gst_vp8dec_debug
gstvp8dec.c
gst_vp8dec_debug
vp8dec
gstvp8dec.h


If I do the same in the corresponding Windows version of libgstvpx.a, I 
get grepping for vp8enc

libgstvpx_la-gstvp8enc.o/
gstvp8enc.c
vp8enc
Encoded with GStreamer vp8enc 1.2.4
gstvp8enc.c:1401
gstvp8enc.c
Zgst_vp8enc_debug
gstvp8enc.c
gstvp8enc.h
gstvp8enc.c
gst_vp8enc_debug
vp8enc
gstvp8enc.h


So I'm guessing that there is something that didn't get built for 
Android's version of the static lib.  I've check both debug/release 
versions back to 1.2.1.

Is this a known issue?  Is there any version of gstreamer 1.0 that has 
libs that provide a vp8enc plugin element that can be instantiated 
through code?

I have tried with gstreamer-0.10 from gstreamer.com, and it does have 
the vp8enc that I can create, but I can't use gstreamer-0.10 due to 
other issues (like want to use videoconvert and not the ffmegcolorspace 
plugin to avoid distribution issues).

Thanks,

--Howard



_______________________________________________
gstreamer-android mailing list
gstreamer-android at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-android


More information about the gstreamer-android mailing list