Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
135 user(s) are online (63 user(s) are browsing Forums)

Members: 2
Guests: 133

rjd324, nubechecorre, more...

Headlines

Forum Index


Board index » All Posts (Fab)




Re: Odyssey 1.23 progress
Just popping in
Just popping in


@kas1e

Regarding ICU

in putil.h, you should add amigaos path specificities, something like

# define U_FILE_SEP_CHAR '/'
# define U_FILE_ALT_SEP_CHAR ':'
# define U_PATH_SEP_CHAR ';'
# define U_FILE_SEP_STRING "/"
# define U_FILE_ALT_SEP_STRING ":"
# define U_PATH_SEP_STRING ";"


in putil.cpp, there's a function u_getDataDirectory(void). Above it, you should force it to really use the dir you want (since the build system seems to be somewhat broken and forgets setting what you actually pass in configure options).

#define ICU_NO_USER_DATA_OVERRIDE 1
#define U_ICU_DATA_DEFAULT_DIR "PROGDIR:Resource"
#define ICU_DATA_DIR U_ICU_DATA_DEFAULT_DIR

And finally, in udata.cpp, around line 1137, you might want to disable that code:
if (U_FILE_SEP_CHAR != U_FILE_ALT_SEP_CHAR) /* Windows: try "foo\bar" and "foo/bar" */
{
/* remap from alternate path char to the main one */
CharString altSepPath;
...
}

Go to top


Re: Odyssey 1.23 progress
Just popping in
Just popping in


@kas1e
Quote:

Maybe its me, but for me on pegasos2/morphos2.4, when i press on full-screen image in the mediplayer which i show on screenshots, it didn't works. Not with youtube_fullscreen_fix.js, not without. Its only works with another player (with that "play" button on black screen) , and works with and without fullscreen_youtube_fix.js. That on morphos.

Also volume image in that another player are reversed (the same on morphos too). I.e. it shows like sound is off, when its on, and show sounds image as on, when its off.


Well, it's you, or you use an outdated script. And what's with this MorphOS 2.4 anyway? What about updating it, there's been 7 releases since, you know.

Regarding the volume icon, that's a way of seeing it. When sound is enabled, you can decide to either show the state or the action to perform.

The problem is Youtube mixes both concepts : when playing it shows a pause icon, when sound is enabled it shows sound enable icon and when in window mode, it shows a go to fullscreen icon. Confusion++, it's just not coherent.
In some cases it shows the action to perform (pause, fullscreen) and in others the status (sound is enabled/disabled).

In my player, i decided to be coherent instead, and i show the action to perform in audio volume case too, hence the mute icon.

Go to top


Re: Odyssey 1.23 progress
Just popping in
Just popping in


@tlosm

Quote:

but worst compared with smtube :P :P


You mean MPlayer, i suppose, since SMTube doesn't play any video...

Well, guess what, it's about as fast in Odyssey as in MPlayer when using overlay, for a good reason:
I mostly reused the cgx_overlay video display routine from MPlayer (adapted to Odyssey's needs), and apart from that, both MPlayer and Odyssey use ffmpeg library.

Go to top


Re: Odyssey 1.23 progress
Just popping in
Just popping in


@tlosm

Quote:

The video are play in overlay? And how much is the video resolution? Ii think you can't go up 360p in browser mode, plus in morphos I have bad result if I using HTML 5 player goes better with the swf


You can go as high as you want. It's not restricted in any way... Obviously, and especially without overlay, you'd better not go higher than 360/480p on a Pegasos2.

And with swf i suppose you rather mean the flash replacement mode done with youtube.js. It's slightly faster than Youtube's bloated HTML5 player indeed, but they both work just fine, and more than fast enough when overlay is enabled.
So if you don't have good results, just enable overlay mode already...

In any case, it's better than TW's 4 seconds per frame playback... :)

Go to top


Re: Odyssey 1.23 progress
Just popping in
Just popping in


@kas1e

Quote:

It still magically happens that it search for progdir:resource/icublah/ even without specifing this path when i build icu. And as i see api/morphos/icufiles.cpp contain all those patches. Log here: http://kas1e.mikendezign.com/temp/odyssey_icu_snoopy.txt


Again, this icufiles.cpp is just a check for the presence of these files, nothing more. You still *HAVE* to specify the data path in ICU itself. I can't check right now, but it's not more difficult than setting something like #define DATA_DIR progdir:resource/icudt49b or whatever. I'll check when i can.


About Youtube, you seem a bit confused, too, so to make it clear:

It works with *all* videos, provided you have the 2 userscripts added.

youtube.js is needed for the videos that are not available in HTML5 mode (there are still many, and youtube sucks for that) : in that case, the flash (or void object if flash plugin is not available) is removed from DOM and replaced by Odyssey's builtin HTML5 player.

youtube_fullscreen_fix.js is needed for two things:
- enabling overlay mode when pressing fullscreen button in Youtube's HTML5 player (the builtin one doesn't need this, it switches to overlay properly).
- changing links in youtube page so that clicking a link on the right triggers a page reload (and thus make scripts work again for the next video).

The flash plugin is not needed at all to have youtube working with these scripts.

Finally, the non-overlay mode is not very fast (it has to go through slow cairo path), but still fast enough to watch a video on peg2. But it's obviously much better with overlay, a 360p video takes about 30% CPU on a Peg2 then. And on a G5, 1080p streams are watchable at fullspeed in Odyssey.


Go to top


Re: Odyssey 1.23 progress
Just popping in
Just popping in


@kas1e

Well, you should run that snoopdos-like tool to check if ICU really looks for these files in progdir:resource/icublah/ dir? If you didn't specify this path anywhere in your icu build, it's extremely unlikely they will be found magically by ICU. :)

Go to top


Re: Odyssey 1.23 progress
Just popping in
Just popping in


@kas1e

From your stack trace, it doesn't look related to these small nullptr/0 changes at all... It's really about ICU. It's not that unusual to have crashes that points to null pointers, you know... It doesn't mean it's related to these nullptr changes.

A wild guess would be ICU fails to find some of its data files, and since it's so well designed, it doesn't check for errors and crashes. So if you want to make a quick test, just change findWordBoundary to something void, and see what happens.


And about this nullptr issue, i really just replaced with 0 where needed in my port. I just didn't include this change in released sources because you may not have needed it, if you have compiled it with a newer gcc, i didn't want to change webkit sources there without reason.

Go to top


Re: Odyssey 1.23 progress
Just popping in
Just popping in


@kas1e

If the old sqlite port you have works fine, you can just keep it. A newer one isn't required.

Regarding your nullptr issue, you'd need a newer GCC (and more recent WebKit will definitely need a newer one since they use more and more C++11 features), but for this particular revision (r155188), you can just replace it with 0. Your crash issue is most likely unrelated to this, and probably caused by ICU somehow.

Go to top


Re: Odyssey 1.23 progress
Just popping in
Just popping in


@Hans

But in WebKit's case, for performance reasons, slice decoding is needed. With Datatypes, you get the whole thing decoded at once (and with a high memory footprint as well).


Edited by Fab on 2014/1/30 12:53:16
Go to top


Re: Odyssey 1.23 progress
Just popping in
Just popping in


@Severin

Except datatypes aren't suited at all for that, and it would actually give a (much) slower result.
I could use reggae for decoding, though.

Go to top


Re: Odyssey 1.23 progress
Just popping in
Just popping in


@kas1e

You probably compiled ffmpeg with debug enabled (-g). That makes them way bigger.

About ICU, i still use 4.9.1. There's no reason to update, and it's so boring to build i prefer doing it as rarely as possible. If the data files are external, that's because there was some issue that prevented the big libicudata containing all data files from working properly (possibly a bigendian issue with their weird custom elf loader).
And since libicu is so smart that it crashes as soon as a datafile is missing, i had to check for every datafile. But this code is in Odyssey itself, not in ICU, so you don't need anything else.

Go to top


Re: Odyssey 1.23 progress
Just popping in
Just popping in


@kas1e

Well, I didn't use the longcall option without reason. The executable got too large at some point, and it couldn't be avoided without annoying hacks.

That being said, you're not forced to make it even 50 MB larger than required by linking the whole ffmpeg libraries. Just build the decoders/formats/parsers in the HTML5 specification, it will take less than 5MB then.

For instance, using the following options would be a good start:
--arch=powerpc --cpu=powerpc --enable-runtime-cpudetect --disable-indevs --disable-protocols --enable-protocol=file --disable-network --disable-encoders --disable-decoders --disable-hwaccels --disable-muxers --disable-demuxers --disable-parsers --disable-bsfs --disable-devices --disable-filters --enable-decoder=aac --enable-decoder=aac_latm --enable-decoder=h264 --enable-decoder=mp3 --enable-decoder=theora --enable-decoder=vorbis --enable-demuxer=aac --enable-demuxer=aac_latm --enable-parser=aac --enable-parser=aac_latm --enable-demuxer=mp3 --enable-demuxer=mov --enable-demuxer=ogg --enable-parser=mpegaudio --enable-bsf=h264_mp4toannexb --enable-decoder=pcm --enable-decoder=wav --enable-demuxer=flv --enable-decoder=flv --enable-decoder=h263 --enable-decoder=vp8 --enable-demuxer=vp8 --enable-parser=vp8 --enable-decoder=vp9 --enable-demuxer=vp9 --enable-parser=vp9 --enable-bsf=aac_adtstoasc --enable-decoder=mpeg4 --enable-parser=mpeg4video --enable-demuxer=matroska)

Oh, and by the way, you probably won't even notice a difference between using longcall or not in an application like Odyssey. I didn't see any in benchmarks, at least.

Go to top


Re: Imgur kills Odyssey?
Just popping in
Just popping in


@tboeckel

Quote:

The value 0xcccccccc in r9 clearly points out a duplicate Remove() of a node from an Exec list.


Not really. I use memory allocators that also clear deallocated memory with this pattern. So it could be a double deletion in WebKit objects, most likely.

Go to top


Re: smtube! Really good!
Just popping in
Just popping in


@zzd10h

As i said, the issue was with AHI audio output. MPlayer SDL uses SDL audio output, and you probably shouldn't use it if you want any decent performance, btw.

Go to top


Re: smtube! Really good!
Just popping in
Just popping in


Since the playback task is done with mplayer and smtube basically just retrieves the direct links and passes them to mplayer, any issue with playback is obviously caused by mplayer...

Now, this double speed issue is old and fixed since several years. It was triggered with mono audio tracks (this format was not properly handled by the ahi audio ouput). So if you don't have a recent enough version of mplayer, the easiest solution is to force the audio output to stereo, using -af format=s16be or whatever.

Go to top


Re: You Tube
Just popping in
Just popping in


@ddni

Ok. This has not changed in Odyssey 1.16. Mimetypes and contextmenu actions are still configurable in the same way as before. So it shouldn't be a problem here.

Regarding youtube.js, if you use it only to display the links below the video, that's ok, but i can't guarantee the script supplied with 1.16 (or 1.23) still works when html5 media is not built in.

So what's your actual issue? The links below the video don't show, or clicking them doesn't trigger anything?

Go to top


Re: You Tube
Just popping in
Just popping in


@ddni

Well, it seems you're a bit confused here.

Youtube.js won't have much use for incomplete Odyssey versions (i.e without HTML5 mediaplayer) such as the OS4 version. You could use the Youtube_EzDownload.js instead, though, it will show download links nicely. Youtube.js serves a different purpose, for Youtube links that are not available as HTML5 yet.

I understand you also tried to configured the context menus and/or mimetypes (which are totally unrelated to the userscripts). If you follow the instructions correctly (which are pretty much like Ibrowse config), it should work just fine. Just make sure you enter the proper mplayer/getvideo paths if you do so, of course.

Go to top


Re: OpenURL support in Odyssey
Just popping in
Just popping in


@kas1e

No, i won't change it. MorphOS is preconfigured to use this rexx port, and it would only cause trouble to change it now, since user settings are kept (as they should) when updating the OS.
Besides, some released third party scripts and many users custom configs refer to OWB port as well.
That's just not possible.

Go to top


Re: OpenURL support in Odyssey
Just popping in
Just popping in


@broadblues

The port is created by MUI through the application base name, not by odyssey explicitely. If you want it fixed, fix it in MUI.

That said, i don't see much point in still using RA OWB, but whatever. :)

Go to top


Re: AmigaOS and web browsing in 2013
Just popping in
Just popping in


@broadblues

WebKit is really huge and quite painful to merge, considering the project activity (>10000 commits in a couple months, many API changes, regressions with bigendian architectures and so on...). If i want to do actual work on it, given my spare time, i really can't afford sync'ing x repositories everytime i merge WebKit. So, future versions will come as a tarball of the actual state, and that's it.

And your comparison with Aweb is really not appropriate, considering the difference in size and complexity of these two projects.

@kas1e

- Should i state once again that you actually got my curl changes about multithreading? If you can't make it work, it's not my fault.

- The cairo changes are about adding:
# include <proto/exec.h>
typedef struct SignalSemaphore cairo_mutex_impl_t;
# define CAIRO_MUTEX_IMPL_MORPHOS 1
# define CAIRO_MUTEX_IMPL_LOCK(mutex) ObtainSemaphore(&(mutex))
# define CAIRO_MUTEX_IMPL_UNLOCK(mutex) ReleaseSemaphore(&(mutex))
# define CAIRO_MUTEX_IMPL_INIT(mutex) InitSemaphore(&(mutex))
# define CAIRO_MUTEX_IMPL_NIL_INITIALIZER {}
# define CAIRO_MUTEX_IMPL_FINI(mutex) CAIRO_MUTEX_IMPL_NOOP

- Pixman doesn't have any meaningful change except altivec detection. Shall i write the OS4 specific function for you (hint: it already exists in projects like MPlayer/ffmpeg)?

- Fontconfig is mostly about amiga paths, and this progress callback is about adding 2 lines of code. I also gave you that code once.

- OpenSSL already exists for OS4, so it shouldn't be too hard to get it. I just hope the random routine doesn't always returns 4 there... :)

- ICU is just horribly painful because of its build process, and i can't be bothered to deal with it once more, i just hate it... :) I even didn't make the latest port of it on MorphOS, so i can't give it either. But there's nothing mysterious about it, it's just about fiddling with the build process.

- Odyssey defines the plugin architecture (plugins in Odyssey are shared amiga libraries), so you'll be able to write plugins if you want. I just don't plan to release swfdec because:
- it has tons of deps as well (glib for a start),
- it's outdated (Flash 8 with a couple of Flash 9 extensions, but not enough)
- it's a plugin, it's really out of the scope of *Odyssey browser*.

- The "user experience" phrase is here to avoid the chaotic fiasco that could be seen in other projects. It's actually not very restrictive... If one decides to tear Odyssey apart and make a mess out of it, well, he can still do so, but i certainly won't give my support and newer version in that case. I think it's rather understandable...

Quote:

"how to compile" file should be good to have too. As at least when i port 1.9 and 1.16, build systems changes, options changes, etc.


Yes, this project changes A LOT, welcome to the club. But to compile it, "make" is a good start... And defaut options are set properly (at least in current version, i don't remember if it was the case in 1.9).

As a sidenote, i think there are double standards here.. I don't remember there was any criticism against the much more restrictive TimberWolf bounty, for example. Weird?

Go to top



TopTop
« 1 2 3 (4) 5 6 7 ... 10 »




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project