-
Notifications
You must be signed in to change notification settings - Fork 43
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
Comments
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. |
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' 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? |
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. :) |
I've got most of it building now I think - am I correct in thinking this is
all I need for a minimal setup?
ogg
vorbis
theora
theoraplayer (your bit)
Is theora kind of the video equivalent of vorbis? Is ogg the 'wrapper' for
both?
I also had to tweak a few things to get theoraplayer to build with mingw64:
* FileDataSource.cpp and MemoryDataSource.cpp - changed #ifdef _WIN32 to
#ifdef _MSC_VER so fstat64 works.
* Utility.cpp - changed #include <string> to #include <string.h> (for
strcmp etc). Probably needs both?
* AudioPacketQueue.cpp - add #include <string.h> (for memset etc).
Also, I hacked a #define _LIB into theoraplayerExport.h to force a static
lib build - is this all I need to do?
Haven't actually got it running yet, will let you know when I do!
…On Wed, Dec 14, 2016 at 9:43 AM, Boris Mikic ***@***.***> wrote:
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. :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#14 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ADU3QutBRUKT88Biw5yfMpGMWfqEvxy2ks5rHwNmgaJpZM4LKFfd>
.
|
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. |
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? |
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. |
Why would you want multiple managers?
No idea, but there is/was a 'new TheoraVideoManager' in the tutorial at the
site above so it looked like I was expected to create one, singelton or not.
It wasn't until I worked out the site above is way out of date and had a
look through the code that I worked out theoraplayer::init() creates a
Manager too.
It's just not entirely clear what's going on here (Manager doesn't actually
prevent you creating multiple instances, IMO it should if it's a singleton)
so I thought I'd ask.
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.
Excellent, looking forward to it!
…On Mon, Dec 19, 2016 at 5:11 AM, Kresimir Spes ***@***.***> wrote:
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.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#14 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ADU3QoWpXcrKtMHoqRzzmWaE-vcnCou9ks5rJVtAgaJpZM4LKFfd>
.
|
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. |
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
The text was updated successfully, but these errors were encountered: