polybiusproxy / hxCodec

Haxe library for native video playback on HaxeFlixel and OpenFL.
https://lib.haxe.org/p/hxCodec
Mozilla Public License 2.0
109 stars 71 forks source link

Heaps support? #270

Closed Gaboose closed 1 year ago

Gaboose commented 1 year ago

Are there any plans to add support for the Heaps engine?

I would imagine this being implemented as another folder hxcodec/heaps next to hxcodec/openfl and hxcodec/flixel with a class that extends h2d.Bitmap and reuses the hxcodec/vlc package underneath.

If this is desired, or at least you're ok with it, I could help by writing a pull request :)

MAJigsaw77 commented 1 year ago

Are there any plans to add support for the Heaps engine?

I would imagine this being implemented as another folder hxcodec/heaps next to hxcodec/openfl and hxcodec/flixel with a class that extends h2d.Bitmap and reuses the hxcodec/vlc package underneath.

If this is desired, or at least you're ok with it, I could help by writing a pull request :)

This lib is normally designed to work with Haxe/OpenFL but I don't see why not ig

Gaboose commented 1 year ago

On further investigation it seems I can't use LibVLC.hx while targeting hashlink, even if I tell it to output c code (-hl out/main.c).

./hxCodec/hxcodec/vlc/LibVLC.hx:174: characters 55-90 : You cannot access the cpp package while targeting hl (for cpp.RawConstPointer)
./hxCodec/hxcodec/vlc/VLCBitmap.hx:9: characters 8-26 : ... referenced here
./hxCodec/hxcodec/heaps/VideoBitmap.hx:4: characters 8-29 : ... referenced here
src/Main.hx:1: characters 8-33 : ... referenced here

And heaps doesn't support the cpp target (1) (2).

So now I'm not sure how to do this anymore, or if it's even possible.

I already made some preparatory work, I moved openfl dependencies from hxcodec/vlc to hxcodec/openfl in this commit: https://github.com/polybiusproxy/hxCodec/commit/c7be9419f08358e0dc990c54023ee24e6e5596a8. But I guess there's no point in making a pull request anymore. Just posting it here, in case anyone finds it useful.

polybiusproxy commented 1 year ago

On further investigation it seems I can't use LibVLC.hx while targeting hashlink, even if I tell it to output c code (-hl out/main.c).

./hxCodec/hxcodec/vlc/LibVLC.hx:174: characters 55-90 : You cannot access the cpp package while targeting hl (for cpp.RawConstPointer)
./hxCodec/hxcodec/vlc/VLCBitmap.hx:9: characters 8-26 : ... referenced here
./hxCodec/hxcodec/heaps/VideoBitmap.hx:4: characters 8-29 : ... referenced here
src/Main.hx:1: characters 8-33 : ... referenced here

And heaps doesn't support the cpp target (1) (2).

So now I'm not sure how to do this anymore, or if it's even possible.

I already made some preparatory work, I moved openfl dependencies from hxcodec/vlc to hxcodec/openfl in this commit: c7be941. But I guess there's no point in making a pull request anymore. Just posting it here, in case anyone finds it useful.

We use C++ externs in order to use libVLC. It may be possible to make it work with HL, I can think of some ways to implement it.

EliteMasterEric commented 1 year ago

One way would be to migrate the library to ammer when the new version of that library releases.