#jogamp @ irc.freenode.net - 20130417 05:06:12 (UTC)


20130417 05:06:12 -CatOut- Previous @ http://jogamp.org/log/irc/jogamp_20130416050558.html
20130417 05:06:12 -CatOut- This channel is logged @ http://jogamp.org/log/irc/jogamp_20130417050612.html
20130417 05:49:58 * DemoscenePassiv (~Lutsche@anon) has joined #jogamp
20130417 06:39:49 * DemoscenePassiv (~Lutsche@anon) Quit (Ping timeout: 256 seconds)
20130417 07:08:26 * xranby_ac100 (~xranby@anon) Quit (Ping timeout: 256 seconds)
20130417 07:10:39 * xranby_ac100 (~xranby@anon) has joined #jogamp
20130417 07:17:55 <xranby_ac100> good morning
20130417 07:35:21 <sgothel> goody
20130417 07:37:58 <sgothel> (11:57:58 PM) xranby_ac100: sgothel: we really should only push the decoded audio to java and let the user decide what to do with it <- We can make it pluggable yes, one JOAL sink ofc, one memory .. etc - sure
20130417 07:39:56 <sgothel> in the end .. it's a *media* player, i.e. extracting the payload from streams .. audio+video, video, audio ..
20130417 07:40:12 <sgothel> for video we provide texture
20130417 07:40:25 <sgothel> for audio some other 'framed' data to handle ..
20130417 07:41:37 <sgothel> we may think of an audio-stream interface, similar to TextureSequence ?
20130417 07:44:19 <xranby_ac100> i need to check ut TextureSequence, sounds reasonable, like you may have seen in the log we discussed using say a sound3d Buffer but that would may be inflexible since each frame is a really short sample
20130417 07:45:24 <xranby_ac100> so an audio stream interface may be better
20130417 07:47:47 <sgothel> texFrame=mPlayer.getNextTexture(gl, true); <- MovieSimple
20130417 07:48:06 <sgothel> the method is TextureSequence interface impl. by the media player
20130417 07:48:25 <sgothel> the user (the video player demo) actually handles the data
20130417 07:48:36 <sgothel> the media player is a provider
20130417 07:48:49 <sgothel> it's a blocking operation ..
20130417 07:49:09 <sgothel> we may use audio non blocking as an event ..
20130417 07:49:37 <sgothel> TextureSequence can be both, blocking and non-blocking
20130417 07:50:03 * xranby_ac100 (~xranby@anon) Quit (Read error: Connection reset by peer)
20130417 07:50:15 * xranby_ac100 (~xranby@anon) has joined #jogamp
20130417 07:50:25 <sgothel> how is audio data arranged ? i.e. it will be available .. or not, but in a different time 'space' than video .. hence event driven might suit us better here
20130417 07:50:46 <sgothel> like: AAAVVAVA .. [frames]
20130417 07:54:48 <sgothel> for now we could make it simple like the TextureSequence I guess .. no extra thread and/or event .. and dump it
20130417 07:54:58 <sgothel> then we need to see how to sync a/v
20130417 07:55:01 <xranby_ac100> according to this audio video sync tutorial http://dranger.com/ffmpeg/tutorial06.html we need to keep track on both audio and video clock
20130417 07:55:17 <sgothel> I know .. aPTS and vPTS
20130417 07:55:40 <sgothel> so the decoder does't have it .. ok
20130417 07:56:21 <sgothel> I can look in my very old hacking of dvd-player plugin for VDR .. how to do it :)
20130417 07:56:53 <sgothel> I guess we can solve the a/v sync later ..
20130417 07:57:55 <xranby_ac100> while reading through this part.. http://dranger.com/ffmpeg/tutorial05.html i realized that we may need to re schedule video as well
20130417 07:58:17 <xranby_ac100> in order to prevent future frames to be displayed too early
20130417 07:58:31 <xranby_ac100> the most recent frame may not be the frame we want to display
20130417 07:58:34 <sgothel> so TextureFrame may become a super interface .. holding the time stamp, and same should go for AudioFrame
20130417 07:58:56 <sgothel> a/v sync: all we need to care is the delta of a/v pts
20130417 07:59:07 <sgothel> usually you sync w/ audio pts
20130417 07:59:15 <sgothel> and hold back video :)
20130417 07:59:21 <sgothel> b/c audio is very sensitive
20130417 07:59:24 <sgothel> video is not
20130417 07:59:36 <sgothel> meaning .. an interruption of audio is horrible
20130417 07:59:46 <sgothel> an old video frame not so much
20130417 08:00:37 <sgothel> and the story goes even longer :) .. you have to also put the audio sink time into account (buffer length _and_ speaker distance)
20130417 08:01:13 <sgothel> some devices (sinks) have a 'deliver' time-stamp
20130417 08:01:23 <sgothel> don't remember the correct name though
20130417 08:01:56 <sgothel> so the sink (JOAL) should be asked .. how many audio frames are in there .. add this w/ aPTS .. etc
20130417 08:02:12 <sgothel> video is easier :)
20130417 08:02:29 <sgothel> (if there is no fog .. lol)
20130417 08:03:04 <sgothel> which brings us to double buffering, we may want to add the vsync/2 time into account ?
20130417 08:03:25 <sgothel> audio delay sensitivity was about .. 12ms ?
20130417 08:03:49 <xranby_ac100> sgothel: well that depends on who you ask :)
20130417 08:04:07 <sgothel> long story .. I would like to see us work on a/v sink after we have added general audio support
20130417 08:04:41 <sgothel> well - there are studies about it .. audio delay sensitivity
20130417 08:04:56 <xranby_ac100> you know if we make a nice sink interface then we can host large conferences like the gstreamer conf :)
20130417 08:05:33 <sgothel> no doubt about it
20130417 08:06:16 <sgothel> http://jausoft.com/Files/vdr/ my old VDR hacking ..
20130417 08:06:50 <sgothel> so I have some experience doing stuff like this .. looking fwd solving it w/ you later on
20130417 08:07:09 <sgothel> I participted in vdr-dvd and bitstreamout
20130417 08:09:27 <xranby_ac100> sgothel: ok so.. i have a branch that looks to decode audio frames
20130417 08:09:45 <sgothel> awesome!
20130417 08:10:24 <sgothel> next step .. Unify TextureSequence and AudioSequence (w/ TimeSequence as a base class)
20130417 08:10:28 <sgothel> then: sync
20130417 08:10:41 <xranby_ac100> https://github.com/xranby/jogl/tree/FFMPEGMediaPlayer-audio
20130417 08:11:09 <sgothel> can I simply merge/review .. or are there concerns ?
20130417 08:12:20 <xranby_ac100> you may merge review, i am experiencing some strange crashes inside mp4 video decoding.. that right now need to find out if it is related to the audio frames
20130417 08:12:31 <xranby_ac100> crash inside libav
20130417 08:12:40 <xranby_ac100> mpeg streams work ok
20130417 08:12:58 <xranby_ac100> and mov streams also work ok
20130417 08:13:01 <sgothel> have to fix Windows BITMAP now (horrible thing) .. can we continue on this in a bit (later today/tomorrow) ?
20130417 08:13:13 <xranby_ac100> lter today is fine
20130417 08:13:23 <sgothel> and the crash happens on all libav ? or only one one libav/ac100 ?
20130417 08:13:34 <xranby_ac100> i have night hacked on these parts
20130417 08:13:42 <sgothel> ?
20130417 08:13:42 <xranby_ac100> i need to read up on general ffmpeg usage
20130417 08:13:58 <sgothel> hmm
20130417 08:14:06 <xranby_ac100> sgothel: i have only tested on the ac100
20130417 08:14:11 <xranby_ac100> so no idea
20130417 08:14:16 <sgothel> i.e. us intercepting audio shall not make a difference :)
20130417 08:14:53 <sgothel> test streams .. ?
20130417 08:15:12 <sgothel> would be nice - so I may reproduce and we can test in a known environment
20130417 08:15:46 <xranby_ac100> i get a lot of [h264 @ 0x613140] AVC: nal size 555434957
20130417 08:15:46 <xranby_ac100> [h264 @ 0x613140] AVC: nal size 555434957
20130417 08:15:46 <xranby_ac100> [h264 @ 0x603ba0] no frame! before the crash produced by libav
20130417 08:16:19 <sgothel> ok, I will try to reproduce w/ and w/o your patch
20130417 08:16:21 <xranby_ac100> i am using a large simplsons trailer hd stream right now
20130417 08:16:27 <sgothel> URL ?
20130417 08:16:40 <sgothel> you have a special test case ?
20130417 08:16:54 <sgothel> pls put test URLS in there .. (comments or ..)
20130417 08:17:14 <sgothel> so we know what we test .. etc
20130417 08:19:31 <xranby_ac100> http://www.dvdloc8.com/view_clip.php?movieid=12167
20130417 08:20:38 <xranby_ac100> so you have to download it, unzip and play it locally
20130417 08:20:48 <sgothel> test case ..
20130417 08:20:52 <xranby_ac100> http://www.dvdloc8.com/clip.php?movieid=12167&clipid=2
20130417 08:21:26 <xranby_ac100> xranby@ac100-armhf:~$ cat movie.sh
20130417 08:21:26 <xranby_ac100> java -jamvm -cp jogl/build-linux-armv6hf/jar/jogl-test.jar:gluegen/build-linux-armv6hf/gluegen-rt.jar:jogl/build-linux-armv6hf/jar/jogl-all.jar com.jogamp.opengl.test.junit.jogl.demos.es2.av.MovieSimple -url "file://$1"
20130417 08:21:29 <sgothel> thx downloading it ..
20130417 08:21:47 <xranby_ac100> ./movie.sh /home/xranby/The\ Simpsons\ Movie\ -\ Trailer.mp4
20130417 08:21:50 <sgothel> awesome .. well, I might test on desktop :)
20130417 08:26:19 * masterzen (~masterzen@anon) Quit (Ping timeout: 264 seconds)
20130417 08:26:56 <xranby_ac100> oh same thing with big buck bunny so hmm the audio patch mess up something
20130417 08:27:18 <xranby_ac100> testcase 2 java -cp jogl/build-linux-armv6hf/jar/jogl-test.jar:gluegen/build-linux-armv6hf/gluegen-rt.jar:jogl/build-linux-armv6hf/jar/jogl-all.jar com.jogamp.opengl.test.junit.jogl.demos.es2.av.MovieCube
20130417 08:27:29 <sgothel> for sure I will jump in here later today, fun!
20130417 08:27:48 <sgothel> thank you .. COOL!
20130417 08:28:06 <sgothel> those things .. all more fun when done not allone
20130417 08:28:09 * masterzen (~masterzen@anon) has joined #jogamp
20130417 08:33:54 <sgothel> .. Xerxes, so you will wear our T-shirt @ conference ? :)
20130417 08:36:43 <xranby_ac100> yes of course :D
20130417 08:40:15 <xranby_ac100> sgothel: have you seen Michael Zucchi (notzed) around lately?
20130417 08:40:36 <sgothel> nope
20130417 08:40:39 <xranby_ac100> he is all about multimedia playback nowdays it seems
20130417 08:40:43 <sgothel> just your replies ..
20130417 08:40:57 <sgothel> I know, I had a fw discussions w/ him before I started our decoder
20130417 08:41:08 <sgothel> via PM
20130417 08:41:19 <sgothel> I tried to lure him into our project :)
20130417 08:41:40 <sgothel> but he didn't have time .. but agreed to our slim interfacing
20130417 08:41:59 <sgothel> sure - I always try to reuse existing stuff, if it's slim and nice
20130417 08:42:20 <sgothel> since there was none reliable matching that requirement .. I did our binding
20130417 08:43:32 <sgothel> don't worry .. our GLMediaPlayer interface is simple and highly usable - w/ the audio support, it will rock
20130417 08:43:58 <sgothel> if we only could get a pre-build libav into it :)
20130417 08:49:56 <xranby> the bug you have filed to bundle a libav version without problematic codecs inside is a good one
20130417 08:50:47 <sgothel> yeah .. and some companies are still trying to secure money despite or b/c their lack of innovation
20130417 08:51:07 <sgothel> so .. what is a FREE coded we can include ?
20130417 08:51:20 <sgothel> or .. we offer a download JAR file ? :)
20130417 08:52:04 <sgothel> so folks can include it in their applet .. etc, IF they are sure it's legal ..
20130417 09:45:44 <xranby> sgothel: btw.. oracle rolled out JDK 7 u21 http://www.oracle.com/technetwork/java/javase/7u21-relnotes-1932873.html#blacklist looks like they make it impossible to run unsigned jars etc
20130417 09:46:32 <xranby> self-signed or unsigned applications might not be allowed to run
20130417 09:46:59 <sgothel> we would perform our own magic here .. :)
20130417 09:47:20 <sgothel> oh .. that one, thought you mean our libav blobs
20130417 09:47:36 <sgothel> hu ? no more mixed mode ?
20130417 09:48:46 <sgothel> I guess .. there is some hilarious hysteric-action in the background, not really knowing how to secure the beast
20130417 09:49:14 <sgothel> note: last vulnerabilities didn't really care whether anything was signed or unsigned
20130417 09:49:51 <sgothel> will test w/ 7u21 later ..
20130417 10:25:18 <sgothel> https://jogamp.org/bugzilla/show_bug.cgi?id=661#c20
20130417 10:25:34 <sgothel> airfare + hotel ..
20130417 10:43:24 <xranby> sgothel: VAAVAAVAAVAAV typical frame order for mp4
20130417 10:43:31 <xranby> when i test here
20130417 10:46:07 * sgothel (~sven@anon) Quit (Ping timeout: 258 seconds)
20130417 10:47:05 * sgothel (~sven@anon) has joined #jogamp
20130417 10:47:05 * ChanServ sets mode +v sgothel
20130417 10:48:50 <xranby> hmm ok tested another mp4 and got VAAVAVA...
20130417 10:48:59 <xranby> http://archive.org/details/test-mpeg
20130417 10:49:32 <sgothel> yes .. audio packets cover a shorter period of time
20130417 10:49:34 <xranby> the mpg stream ther gives http://archive.org/details/test-mpeg VVVVVVVVVVVVAA
20130417 10:49:44 <sgothel> oh .. that is funny
20130417 10:50:06 <sgothel> however, A/V sink should be thread independent
20130417 10:50:18 <xranby> actually it is VVVVVVVVVVVVAAAAAAAAAAAAAA
20130417 10:50:25 <xranby> and then it repeat
20130417 10:50:33 <xranby> two AA is required for each decode
20130417 10:50:44 <xranby> VVVVVVVVVVVVAA pts 3668 - 576
20130417 10:50:44 <xranby> AA pts 3668 - 585
20130417 10:50:44 <xranby> AA pts 3668 - 594
20130417 10:50:44 <xranby> AA pts 3668 - 603
20130417 10:50:44 <xranby> AA pts 3668 - 612
20130417 10:50:45 <xranby> AA pts 3668 - 621
20130417 10:50:45 <xranby> AA pts 3668 - 630
20130417 10:50:46 <xranby> VVVVVVAA pts 0 - 639
20130417 10:50:46 <xranby> AA pts 0 - 648
20130417 10:50:52 <sgothel> all good :)
20130417 10:51:07 <sgothel> I mean .. we are only interested in the decoded data
20130417 10:51:26 <xranby> oh the ogv is all funny
20130417 10:51:55 <xranby> AAAVVAAAAAAAVVVAAAVVAAAAVVVAV...
20130417 10:52:06 <xranby> this is a good test for the sync code
20130417 10:52:55 <xranby> so the verdict is.. i get decoded audio for the mpeg stream
20130417 10:53:10 <xranby> and get issues with decoding audio for the ogg and mp4 stream
20130417 10:53:35 <xranby> test streams here: http://archive.org/details/test-mpeg
20130417 10:53:45 <sgothel> will check on it later on .. yup got them already, thank you!
20130417 10:53:58 <sgothel> https://jogamp.org/bugzilla/show_bug.cgi?id=718 <- fixing that 1st :)
20130417 11:47:29 <sgothel> DO we have a bug report for audio support w/ FFMPEG .. ?
20130417 11:47:55 <xranby_ac100> no
20130417 11:48:57 <sgothel> ok .. will add one later today, better 2 - 1 for generic AudioSequence if available (n/a w/ Android .. i.e. no access to stream data)
20130417 16:37:04 * botton (~willie@anon) has joined #jogamp
20130417 16:37:04 * botton (~willie@anon) has left #jogamp
20130417 17:10:31 * [Mike] (~Mike]@anon) has joined #jogamp
20130417 17:58:40 * DemoscenePassiv (~Lutsche@anon) has joined #jogamp
20130417 19:41:57 <xranby_ac100> good evening
20130417 20:26:15 * [Mike] (~Mike]@anon) Quit ()
20130417 20:27:51 * [Mike] (~Mike]@anon) has joined #jogamp
20130417 21:18:43 * xranby_ac100 (~xranby@anon) Quit (Read error: Connection reset by peer)
20130417 21:36:42 * ___m___ (~Mike]@anon) has joined #jogamp
20130417 21:39:42 * [Mike] (~Mike]@anon) Quit (Ping timeout: 264 seconds)
20130417 21:43:47 * xranby_ac100 (~xranby@anon) has joined #jogamp
20130417 22:15:01 * DemoscenePassiv (~Lutsche@anon) Quit (Ping timeout: 248 seconds)
20130417 22:35:12 * ___m___ is now known as [Mike]
20130417 23:48:20 * xranby_ac100 (~xranby@anon) Quit (Ping timeout: 256 seconds)
20130418 01:01:53 * [Mike] is now known as [Mike
20130418 01:04:17 * [Mike] (~Mike]@anon) has joined #jogamp
20130418 01:06:33 * [Mike (~Mike]@anon) Quit (Ping timeout: 252 seconds)
20130418 03:02:36 * [Mike] (~Mike]@anon) Quit ()
20130418 03:30:24 * [Mike] (~Mike]@anon) has joined #jogamp
20130418 05:06:26 -CatOut- Continue @ http://jogamp.org/log/irc/jogamp_20130418050626.html