<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/4.6.6">
</HEAD>
<BODY>
Le lundi 03 mars 2014 à 06:56 -0800, Ugly Face a écrit :<BR>
<BLOCKQUOTE TYPE=CITE>
    2. I do not know what to share . Maybe the code?<BR>
</BLOCKQUOTE>
<BR>
That works to help me understand. So first, I guess you already have tested that your mp4 file is valid ?<BR>
<BR>
Do that pipeline works ? <BR>
gst-launch-0.10 filesrc location=a.mp4 ! qtdemux ! h264parse ! ffdec_h264 ! xvimagesink<BR>
<BR>
Now, the problem here, assuming what I just mention works, is that to test it the way you want, you would have to implement a full ISOMP4 demuxer. You clearly don't want to do that, neither you want to write a parser.<BR>
<BR>
What wasn't clear so far, is the stream format that you want to test through appsrc. From the test code, you seems to aim at byte stream (hence no codec-data). An MP4 muxed files contains AVC stream, so you already have something incompatible here.<BR>
<BR>
Imho, if you really want to do that test using GStreamer to learn usage of appsr, I would suggest to use two pipeline. First pipeline:<BR>
<BR>
"filesrc location=foo.mp4 ! qtdemux ! h264parse ! video/x-h264,stream-format=avc ! appsink"<BR>
<BR>
Then hook the appsink, and send over to appsrc:<BR>
<BR>
"appsrc ! h264parse ! avdec_h264 ! videoconvert ! xvimagsink"<BR>
<BR>
Make sure to enable some debugging, in the likely case you do something wrong, you'll see it, try GST_DEBUG=2 or more, or maybe GST_DEBUG=h264parse:5.<BR>
<BR>
good luck,<BR>
Nicolas<BR>
<BR>
for the Android part, you'll find a good deal of the solution out there: <A HREF="http://stackoverflow.com/questions/20475332/mediacodec-h264-encoder-not-working-on-snapdragon-800-devices">http://stackoverflow.com/questions/20475332/mediacodec-h264-encoder-not-working-on-snapdragon-800-devices</A>
</BODY>
</HTML>