bugGnash - The GNU Flash player - Bugs: bug #25762, gnash 0.8.5 fails to build with...

 
 

bug #25762: gnash 0.8.5 fails to build with FFmpeg

Submitter:  Brad Smith <brad0>
Submitted:  Wed 04 Mar 2009 02:41:31 PM UTC
   
 
Category:  build Severity:  3 - Normal
Release:  other Status:  Fixed
Privacy:  Public Assigned to:  None
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Mon 20 Apr 2009 06:29:51 AM UTC, comment #6: 

Committed to trunk.

Benjamin Wolsey <bwy>
Group Member
Sun 19 Apr 2009 08:19:37 AM UTC, comment #5: 

This does compile.

Brad Smith <brad0>
Sun 19 Apr 2009 06:40:31 AM UTC, comment #4: 

The correct fix would be to take a std::streamoff instead of an int64_t as the offset, but without changing the interface the best thing to do seems to be:

 _stream->seek(_stream->tell() + static_cast<std::streamoff>(offset));

Can you check that this compiles?

Benjamin Wolsey <bwy>
Group Member
Sun 19 Apr 2009 03:41:58 AM UTC, comment #3: 

Also FYI..

curl-7.19.4
ffmpeg-20090417

Brad Smith <brad0>
Sun 19 Apr 2009 03:39:55 AM UTC, comment #2: 

With the diff provided by Jeremy Gnash does indeed build Ok but then I am not able to play any media (.e.g. YouTube).

The debug log shows this as the last few lines..

6451:2169157632] 23:37:03: SECURITY: Connecting to movie: http://www.youtube.com/get_video?video_id=oC4FAyg64OI&t=vjVQa1PpcFNZcJQrnsVEeLpDGXtlfUd0LSV2OioWuVA=&el=detailpage&ps=&fmt=5
6451:2169157632] 23:37:03: SECURITY: Checking security of URL 'http://www.youtube.com/get_video?video_id=oC4FAyg64OI&t=vjVQa1PpcFNZcJQrnsVEeLpDGXtlfUd0LSV2OioWuVA=&el=detailpage&ps=&fmt=5'
6451:2169157632] 23:37:03: SECURITY: Load from host www.youtube.com granted (default)
6451:2169157632] 23:37:03: DEBUG: CurlStreamFile 0x7f759b00 created
6451:2169157632] 23:37:03: DEBUG: Parsing FLV version 1, audio:1, video:1

Brad Smith <brad0>
Fri 17 Apr 2009 06:58:34 PM UTC, comment #1: 

My workaround on NetBSD/amd64 using gcc version 4.1.3 20080704 prerelease (NetBSD nb2 20081120) follows:

=== modified file 'libmedia/ffmpeg/MediaParserFfmpeg.cpp'
--- libmedia/ffmpeg/MediaParserFfmpeg.cpp 2009-03-13 10:22:20 +0000
+++ libmedia/ffmpeg/MediaParserFfmpeg.cpp 2009-04-17 15:26:38 +0000
@@ -525,7 +525,7 @@
  }
  else if (whence == SEEK_CUR)
  {
- _stream->seek(_stream->tell() + offset);
+ _stream->seek((int64_t)_stream->tell() + offset);
  // New position is offset + end of file
  }
  else if (whence == SEEK_END)


Note that is a workaround, because probably is int_t on other systems. Also I saw some other gcc warnings due to wrong 32 verss 64 bit.

Jeremy C. Reed <reedjc>
Wed 04 Mar 2009 02:41:31 PM UTC, original submission:  

gnash 0.8.5 fails to build with FFmpeg..

OpenBSD 4.5, ffmpeg-20080620, gcc 3.3.


libtool: compile:  c++ -DHAVE_CONFIG_H -I. -I.. -I../libamf -I../libnet -I../libbase -I../libcore -pthread -I/usr/local/include/libpng -I/usr/local/in
clude/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/local/include -I../libltdl -I/usr/local/include -I/usr/local/include -I/u
sr/local/include -I/usr/local/include -O2 -pipe -pthread -pthread -W -Wall -Wcast-align -Wcast-qual -Wpointer-arith -Wreturn-type -Wnon-virtual-dtor -
Wunused -MT libgnashmedia_la-MediaParserFfmpeg.lo -MD -MP -MF .deps/libgnashmedia_la-MediaParserFfmpeg.Tpo -c ffmpeg/MediaParserFfmpeg.cpp  -fPIC -DPI
C -o .libs/libgnashmedia_la-MediaParserFfmpeg.o
In file included from ffmpeg/ffmpegHeaders.h:48,
                 from ffmpeg/MediaParserFfmpeg.cpp:20:
/usr/local/include/libavcodec/avcodec.h:2338: warning: `ImgReSampleContext' is
   deprecated (declared at /usr/local/include/libavcodec/avcodec.h:2332)
/usr/local/include/libavcodec/avcodec.h:2348: warning: `ImgReSampleContext' is
   deprecated (declared at /usr/local/include/libavcodec/avcodec.h:2332)
ffmpeg/MediaParserFfmpeg.cpp: In member function `void
   gnash::media::ffmpeg::MediaParserFfmpeg::initializeParser()':
ffmpeg/MediaParserFfmpeg.cpp:428: warning: converting to `long long unsigned
   int' from `double'
ffmpeg/MediaParserFfmpeg.cpp:460: warning: converting to `long long unsigned
   int' from `double'
ffmpeg/MediaParserFfmpeg.cpp: In member function `int64_t
   gnash::media::ffmpeg::MediaParserFfmpeg::seekMedia(long long int, int)':
ffmpeg/MediaParserFfmpeg.cpp:523: error: ISO C++ says that `std::fpos<_StateT>
   std::fpos<_StateT>::operator+(long int) [with _StateT = mbstate_t]' and `
   operator+' are ambiguous even though the worst conversion for the former is
   better than the worst conversion for the latter

Brad Smith <brad0>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by bwy (Posted a comment)
  • -email is unavailable- added by reedjc (Posted a comment)
  • -email is unavailable- added by brad0 (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2009-04-20 bwy StatusReady For Test Fixed
        Open/ClosedOpen Closed
    2009-04-20 bwy StatusNone Ready For Test

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code