pantson.Theora v2.2 (movie player)

BlitzMax Forums/BlitzMax Programming/pantson.Theora v2.2 (movie player)

PantsOn(Posted 2008) [#1]
Hi

I have updated my mod to use the latest and first finalised version of TheoraLib from Xiph. Sound is still not supported.

For those that don't know, Theora is a free for commercial use codec.

Links in signature.
have fun.


AlexO(Posted 2008) [#2]
Looks great, I'll have to check it out soon.


Juander(Posted 2008) [#3]
Hi PantsOn
I'm getting some errors when I try using Framework brl.max2d.

Linking:main.exe
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0xe): undefined reference to `__mingw_vfprintf'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0x1f): undefined reference to `__mingw_vprintf'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0x7e): undefined reference to `ogg_sync_buffer'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0x91): undefined reference to `ogg_sync_wrote'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0xa1): undefined reference to `ogg_stream_pagein'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0xae): undefined reference to `ogg_sync_pageout'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0xd8): undefined reference to `ogg_sync_init'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0x14a): undefined reference to `ogg_sync_buffer'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0x163): undefined reference to `ogg_sync_wrote'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0x1db): undefined reference to `ogg_page_bos'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0x1ec): undefined reference to `ogg_page_serialno'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0x1fb): undefined reference to `ogg_stream_init'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0x204): undefined reference to `ogg_stream_pagein'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0x20d): undefined reference to `ogg_stream_packetout'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0x24c): undefined reference to `ogg_stream_clear'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0x258): undefined reference to `ogg_sync_pageout'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0x2c0): undefined reference to `ogg_stream_packetout'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0x2d1): undefined reference to `ogg_sync_pageout'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0x2e6): undefined reference to `ogg_stream_pagein'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.release.win32.x86.a(theora_wrapper.c.release.win32.x86.o):theora_wrapper.c:(.text+0x396): undefined reference to `ogg_stream_packetout'


I tried compiling your Module on my PC but it didn't help.
Any ideas?


PantsOn(Posted 2008) [#4]
it compiles and runs fine on my machine...
I'll install it on a non dev machine and get back to you


PantsOn(Posted 2008) [#5]
I don't use the framework library.
Can anyone else who uses it test the lib please?


Brucey(Posted 2008) [#6]
This : undefined reference to `__mingw_vfprintf'
implies that perhaps the installation of MinGW isn't correct.


Juander(Posted 2008) [#7]
I don't use the framework library.
Can anyone else who uses it test the lib please?


Correct me if I'm wrong. I think framework is no library. It is a Bmax command which tells Bmax not to import every Module in the Bmax/mod folder.

@brucey
Maybe I'm using a version of MingW which is too new. Mine is the latest 5.1.3.


PantsOn(Posted 2008) [#8]
my mistake :-( I read it wrong. your right, framework is just a command ;-)
I was thinking of something else (that was a problem in previous versions)

Still doesn't help though as I get no errors....

Has anyone else manged to compile this on their machines (or is it just my machine)

What version of BMAX are MINGW are you using Juander?


Juander(Posted 2008) [#9]
I'm using Bmax 1.30 but without subversion and MINGW 5.1.4


Russell(Posted 2008) [#10]
Thanks PantsOn for this. Surely do appreciate it. Any idea when sound will finally be supported? Makes videos so much more enjoyable to watch ;)

Thanks,
Russell

p.s. Does Theora itself support sound?


xlsior(Posted 2008) [#11]
p.s. Does Theora itself support sound?


Yes -- Theora is a container format (kind of like AVIs are) and it encapsulates VP3 compressed video and Ogg.Vorbis audio.

(You'll also find Theora referenced as Ogg.Theora in places)


Brucey(Posted 2008) [#12]
Syncing sound is a bit tricky, especially in a single thread, but it is doable. I have an example for my avbin module that can generally get it right, but it needs work (ogg is fine, wmv isn't so great.). So, yeah, it ain't easy.
I'm sure Rich will get there in the end :-)


Russell(Posted 2008) [#13]
Of that I have no doubt :)

I like the idea of BMax supporting a cross-platform, open format video standard like Theora. I hope Rich et al keep up the good work! (FLAC, a lossless sound format, is also interesting....)

Russell


PantsOn(Posted 2008) [#14]
thanks for the words of encouragment....
I've tried and tried to do sound and cannot get to grips with it. Infact I get different results per movie which doesn't give me much confidence.
(I might cheat at some point, dunno how yet though)

In the meantime, to try and keep the theora lib going, I'm planning a movie encoder for Theora. This wont be avaliable till next year due to other priorities.


Difference(Posted 2009) [#15]
Resurrecting...

Nice lib.

Is there anyway to add seek and playbackspeed?


matibee(Posted 2010) [#16]
re-resurrecting...

Nice lib.

Is there any way to DrawTheoraImage to an arbitrary sized image?

:)


PantsOn(Posted 2010) [#17]
@Peter Scheutz
add seek? maybe
playbackspeed? maybe

@matibee
arbitrary sized image? sorry no. it would slow down too much. I use scaleimage afterwards to draw the image with arbitrary size.

See this post for updates and delays in update....
http://www.blitzbasic.com/Community/posts.php?topic=88767

I'll try my best, but I can't promise anything
sorry


Yeshu777(Posted 2010) [#18]
Is there a module for video playback with sound under Linux?

As a short term fix I used the Theora mod while playing the sound seperately - albeit with mixed results each time it plays.

My first idea was to call mplayer using system_, but mplayer doesn't like to play while a Blitz app is running for some reason.

Best Regards,


Sokrates(Posted 2010) [#19]
Hi i got the same problem as Juander: Mingw 5.1.6, Blitzmax 1.38, Theora. (latest Edition)
Could please some tell me what to do to fix this problem . Thanks in Advance.

Compiling the mod doesnt't matter only the example doesn't work.







C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.debug.win32.x86.a(theora_wrapper.c.debug.win32.x86.o):theora_wrapper.c:(.text+0x34b): undefined reference to `__mingw_vfprintf'
C:/Programme/BlitzMax/mod/pantson.mod/theora.mod/theora.debug.win32.x86.a(theora_wrapper.c.debug.win32.x86.o):theora_wrapper.c:(.text+0x6d7): undefined reference to `__mingw_vprintf'
Build Error: Failed to link E:/GameDev/FilmBlitzmax/Theorav2_2/project/play.debug.exe