<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.3502.5390" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2>Dear all,</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>&nbsp;I develop gstreamer software ,use gst-ffmpeg-0.8.4 
,running on&nbsp;ARM platform and find a problem.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>when play mov files , for example,</FONT></DIV>
<DIV><FONT size=2>&nbsp;</FONT></DIV>
<DIV><FONT size=2>gst-launch filesrc location=/mnt/nfs/dragonballv_default.mp4 ! 
ffdemux_mov_mp4<BR>_m4a_3gp<BR></DIV></FONT>
<DIV>&nbsp;<FONT size=2>will report errors that said read mov header 
error.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>I traced in source code and find  reasons:</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>in gst-libs/ext/ffmpeg/libavformat/utils.c&nbsp; function 
av_open_input_stream()</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>&nbsp;err = ic-&gt;iformat-&gt;read_header(ic, 
ap);</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>this line will return error.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>In fact ,it calls mov_read_header. </FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>in mov.c </FONT></DIV>
<DIV><FONT size=2>function&nbsp;mov_read_header() first call&nbsp;&nbsp; 
atom.size = url_filesize(url_fileno(pb));</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>url_filesize will call seek functions in 
ext/ffmpeg/gstffmpegprotocol.c</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>Although the return value is ok&nbsp;and return current file 
pointer is&nbsp;</FONT><FONT size=2>OK&nbsp;</FONT><FONT size=2>,</FONT></DIV>
<DIV><FONT size=2>&nbsp;Next seek, the return data&nbsp;are error 
:The&nbsp;return data&nbsp;are&nbsp;</FONT><FONT size=2>32kbytes</FONT></DIV>
<DIV><FONT size=2>offset&nbsp;from file header !&nbsp;</FONT></DIV>
<DIV><FONT size=2><BR>You know ,in aviobuf.c ,the buffer size is 32k bytes so I 
doubt it is realtive with the </FONT></DIV>
<DIV><FONT size=2>buffer operation. gst_bytestream_seek return new pos are OK 
,but the data read from file are error !</FONT></DIV>
<DIV><FONT size=2>32k bytes offset !</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>But all of these are all OK in X86 system ,only on ARM ,decode 
mov&nbsp; I found this error !</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>I debug one week and confused .</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>Please Help me !!!</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>Thank you! </FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>Nan Wang</FONT></DIV>
<DIV><FONT size=2>&nbsp;</DIV></FONT>
<DIV><FONT size=2><BR> </DIV></FONT></BODY></HTML>