Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

License? #14

Open
blitz-research opened this issue Dec 12, 2016 · 9 comments
Open

License? #14

blitz-research opened this issue Dec 12, 2016 · 9 comments

Comments

@blitz-research
Copy link

Hi,

I'm a bit confused about the license - it states here that the library is BSD licensed:

http://libtheoraplayer.cateia.com/wiki/index.php?title=Licensing

But the library appears to use ffmpeg which is LGPL:

https://www.ffmpeg.org/legal.html

Do you have to distribute the ffmpeg bit separately or am I missing something?

Bye!
Mark

@kspes
Copy link
Collaborator

kspes commented Dec 13, 2016

Hi,

the library is BSD licensed yes. the ffmpeg part is a separate plugin module, you don't have to use it. but yeah, if you want to, then LGPL applies for ffmpeg. also, if I'm not mistaken, the ffmpeg module doesn't work properly. I recommend simply using theora or mp4 on iOS/mac, that way you don't have licensing problems and don't have to deal with ffmpeg's huge codebase.

@blitz-research
Copy link
Author

blitz-research commented Dec 13, 2016

I recommend simply using theora or mp4 on iOS/mac, that way you don't have licensing problems.

I would like to do this too! Good to hear ffmpeg is optional too.

I'm having a few problems building though, 'rebuild solution' results in:

Can't open file 'libvpx,.lib'
Can't open file 'libclipwebm.lib'.

Right clicking on libtheoraplayer and selecting rebuild-all successfully builds 5 'somethings' though (npot really used to msvc).

Can't really find any build instructions so I'm a bit lost - what do I need to build and what do I need to link with and what are the include paths etc?

@borisblizzard
Copy link
Collaborator

All libraries should be present in the solution, but in order to compile vpx (and therefore clibwebm and finally the test projects), you need to install vsyasm. You can find the binary and instructions in the vpx/msvc/util directory. It's fairly simple. :)

@blitz-research
Copy link
Author

blitz-research commented Dec 13, 2016 via email

@borisblizzard
Copy link
Collaborator

You actually have static configurations (DebugS and ReleaseS variants) that have these defined. Of course, only if you use Visual Studio.

If you want to build statically, make sure to define _LIB in all libraries, not just theoraplayer. We use this convention to make sure things don't break needlessly.

@blitz-research
Copy link
Author

Ok, I have this running on Windows, Mac and Linux now, including OpenALAudio driver. Works nicely thanks - android and ios next up! Would be really nice if you could update the docs at http://libtheoraplayer.cateia.com/wiki/index.php/Main_Page - caused me a fair bit of confusion...

Should/Can I create multiple instance of theoraplayer::Manager? I see that theoraplayer::init() creates a theoraplayer::manager singleton so I'm just using that, is this correct?

It looks like the linux version hasn't been touched in a while - needed to change #ifdef _LINUX to #ifdef __linux and there's still a reference to mFilePtr instead of plain filePtr in there (plus some other issues).

Does/should the WebM plugin work? Is this 'better' than plain theora?

@kspes
Copy link
Collaborator

kspes commented Dec 18, 2016

No, the manager is designed to be a singleton. Why would you want multiple managers?

WebM is generally better and faster than Theora, but at the moment, the webM plugin for theoraplayer isn't finished. We plan to finish it in the next few months as we'll need it for our projects. I'll announce it when it's done. Theora is more than good though, especially if you can use hardware acceleration on the platform (win32, iOS arm32, Android arm32). Without hardware accelleration, theora is kinda slow though.

@blitz-research
Copy link
Author

blitz-research commented Dec 19, 2016 via email

@borisblizzard
Copy link
Collaborator

Yeah that tutorial is out of date. It is a singleton class, but we prefer to avoid the whole mess with having a having to call getSingleton() since it's kinda ugly to read. :)

WEBM already works on classic Win32 (not on WinRT!), but we haven't adapted the required YASM code for other platforms yet. So technically you could easily use WEBM on Win32.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants