...to avoid all the existing Flash movies becoming unplayable for the
rest of eternity...
https://www.theregister.co.uk/2017/07/31/petition_to_open_source_adobe_flash/
John
___
Gnash-dev mailing list
Gnash-dev@gnu.org
Interesting. By 2020, Gnash will be the only Flash player available?!
John
Forwarded-By: "Dave Farber"
Forwarded-By: Richard Forno
Date: July 25, 2017 at 1:04:22 PM EDT
To: Infowarrior List
Cc: Dave Farber
I'll set up a cron job scanning every week. Because gnash have more
than a million source lines according to the Coverity scan, we are at
most allowed to upload once per week.
Pushing the largely unchanged source code through it every week sounds
like abuse of their nice offer to help free
I tried to file a bug at the Savannah bug tracker and got:
Notice: Undefined index: check in
/usr/src/savane/frontend/php/include/trackers_run/index.php on line 192
Error: You're not logged in and you didn't enter the magic anti-spam number,
please go back!
Of course, I *did* enter the
In Firefox on Linux, I tried the Mozilla plugin check available from:
https://www.mozilla.org/en-US/plugincheck/
It's also linked from inside Mozilla in the Tools-Add-Ons page in
the Plugins tab (Check to see if your plugins are up to date).
It reports:
Potentially vulnerable plugins:
I have been testing it in my daily use on Ubuntu 11.04 Natty, with
no problems.
John
___
Gnash-dev mailing list
Gnash-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnash-dev
However, is there a way to be more selective in what files are stored there=
temporarily (actually, I don't know if any are ever deleted...), and which=
are more permanent?
The files I want seem all to be labelled videoplaybackXXX, where XXX star=
ts out blank, and then is numbered from
-examine why you think you want or need DRM.
Consider coming out from behind the Mickey Mouse Iron Curtain and
joining the free world. Freedom always needs more supporters.
John Gilmore
___
Gnash-dev mailing list
Gnash-dev@gnu.org
https
An heartbeat is dispatched every 10ms, by design. Would be interesting
to inspect further for the 0ms timedout poll.
As has been done in the Linux kernel, could we switch this to
tickless operation, such that gnash delays until the script lets
us know that something will need to happen? Rather
It's great to finally see apt-get update wanting to update gnash on
my Ubuntu lucid i386 system. But when I try to install it, it also
wants to install gstreamer0.10-fluendo-mp3 for some reason. This
dependency seems to have been added in the gnash package
0.8.10~git.master20396-1~lucid from the
The lucid packages were built in a chroot, and
gstreamer0.10-fluendo-mp3 isn't even installed. Digging into this,
somebody (could have been me ages ago) added this to the debian/control
file. I just removed this from the control file, and uploaded fresh
Lucid-i386 debs to our repository.
This project is about optimizing the playback of audio and video (AV) in
Gnash. In particular, I will change AudioDecoder to a more efficient
push/pop/pull model like already implemented in VideoDecoder. I will
also track down unneeded copy operations and memory allocations in the
IO pipeline
Makes sense. Going through Gnash and identifying these bottlenecks
sounds like a big task, though. If finding these bugs prove easy, I
could attempt to fix them separately from my main project. However, I
don't want to apply for a project that could easily prove very big, and
that I don't
Can someone fix the buildbot so that it reports its results in ordinary
plain text emails? They've been arriving in MIME-encoded reports for
some weeks or months now, making them hard to read. Thanks.
Example enclosed.
John
--- Forwarded Message
Received: from gnashdev.org
Rob, you deserve well the award for the Advancement of Free Software!
Free software would be somewhere else than where it is, without your
career-long efforts.
And it's (mostly) been fun along the way! The real fun of winning
this award (which I was surprised to get last year) is in doing the
In the last two weeks we've closed 29 bugs (at time of writing), 14 of
them serious enough to be considered release blockers: that is bugs that
cause an abort, a segfault, or an illegal memory access.
That's really great!
All fixed bugs: http://ur1.ca/3dgde
I looked in that set of bugs for
Here are some improvements that I found while building and installing
and testing the pre-release version from git.
The README.git change fixes the name of the libltdl on Ubuntu, and alphabetizes
them so they'll match the output of dpkg -l for version checking.
The rest are 2011 updates to the
Could someone fix the gnash buildbot so that it doesn't use base64
encoding on its email messages -- so that they actually come out in
plain, human readable text?
As an extra bonus, the buildbot could merge the signature
with the text, rather than attaching them as separate MIME multiparts.
This
Does that patch actually prevent all attacks? Seems like a string
containing\' would get substituted wrongly by this.
I haven't looked at the whole context, but what are we building here?
If it's a string for the shell, we'd do better to make an argv list and
then call exec, rather than
How many angels do YOU say can dance on the head of a pin?
I say it's 255.
John
___
Gnash-dev mailing list
Gnash-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnash-dev
I blew away the entire directory and reobtained and then rebuilt and now
it works. This is the first time this has happened to me, is this an
issue with gnu toolchains?
Nope -- I didn't change a thing, and it started working for me also.
I suspect that someone from YouTube was lurking on the
I too have noticed that YouTube.com has stopped working over the last
week or two. I'm using an old release (pre-0.8.8, from when I was
working on preventing it from maxing out the CPU after playing YouTube
videos) and I have no idea how to get a commit identifier for my
version.
I get a black
I don't know if can help (and/or is related), but i've found another swf
that produce here the strange CPU bug that raise the CPU value to 100%
from 80% (for example)
Basically the movie swf load game data from internet and starts with cpu
at 80%. But when the movie download the data, the
-bytesSent = ::send(_socket, buf, toWrite, MSG_NOSIGNAL);
+// I'd like to get no SIGPIPE here, as we wouldn't
+// know how to handle. Instead, for broken pipe I'd
+// prefer being notified with a return of -1.
+// Is that possible, in a standard way ?
--- a/libmedia/MediaParser.cpp
+++ b/libmedia/MediaParser.cpp
@@ -411,6 +411,12 @@ MediaParser::parserLoop()
while (!parserThreadKillRequested())
{
parseNextChunk();
+ gnashSleep(100); // thread switch
+
+ // check for parsing complete
+
I was comparing trunk with this patch, to the release branch and
noticed one big difference. With the release branch, when you go to
YouTube, the video starts playing almost immediately. With trunk, there
is a long pause while it loads much more data. After it starts playing,
I don't see a
(for passing a second file descriptor?)
John
___
Gnash-dev mailing list
Gnash-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnash-dev
Your patch seems fine, and could eventually also make the call
to waitIfNeeded deep in pushAVFrame needless.
Watch out for deadlocks, if you don't get any go ahead and commit
it for broader testing.
Since I only check code into gnash every three or four years, it takes
me hours to figure
Make sure to try both ffmpeg and gst media handlers, as if I recall
correctly some locking duty were given to these implementations
rather than left to base class.
I'm not sure how to do that. ./gnash --help says I can run -M,
--media gst but it doesn't document ffmpeg. Indeed, passing gnash
Blundering around trying things, I was able to configure with:
./configure --enable-gui=gtk --enable-media=gst,ffmpeg
[The ./configure doc should be revised to let people know that they can
enable more than one media option.]
The first time, it complained:
ERROR: No FFMPEG
GCC complained (many times) while building, but this warning on this
function seemed like an issue to me:
gst/MediaParserGst.cpp:257: warning: comparison of unsigned expression = 0 is
always true
/// The idea here is that probingConditionsMet will return false, unless:
/// a) all data types in
In libcore/LineStyle compile:
CXXLineStyle.lo
FillStyle.h: In member function âvoid
gnash::LineStyle::read(gnash::SWFStream, gnash::SWF::TagType,
gnash::movie_definition, const gnash::RunResources)â:
FillStyle.h:274: warning: dereferencing pointer âanonymousâ does break
Running the trunk gnash from a few days ago, plus my one patch to the
MediaParser loop, I went to this page:
http://finance.yahoo.com/echarts?s=THO+Interactive#symbol=THO;range=5y
which brings up a Flash chart. And Firefox hung on me (in compiz it went
grey). With the mouse in the Flash
If this code is called more frequently than that, it should probably
use the main select() loop (and create a main select() loop for the
framebuffer GUI, there are good reasons why every other GUI does this).
I'll think about for the framebuffer GUI post release, as I'll be
doing other
firefox is not able to handle more than a plugin for a single MIME type,
Just about when you replied, I found your blog posting about this:
http://allievi.sssup.it/techblog/?p=525
I removed the gnash plugin from my $HOME/.mozilla/plugins, restarted
Firefox, and now Lightspark appears to
When there's no media to parse (_parsingComplete) is true, the media
thread loops forever, doing 100 usec nanosleeps and nothing else.
Instead it should wait to be restarted by the main thread when some
other media needs parsing.
It is in this state after a YouTube video finishes, for example.
We could drop the select(), or reduce the timeout, but as this is a
reasonably new feature, I seriously doubt it's been a big performance
problem.
If this code is only called 50 times a second or something (whatever
the frequency of the main loop is), then it should just poll the file
This patch seems to fix this problem in gnash:
=== modified file 'libmedia/MediaParser.cpp'
--- libmedia/MediaParser.cpp2010-01-01 17:48:26 +
+++ libmedia/MediaParser.cpp2010-08-06 02:34:19 +
@@ -411,7 +411,10 @@
while (!parserThreadKillRequested())
{
When I went to patch the select() in
ExternalInterface::ExternalEventCheck, I noticed that it allocates a
buffer with char *buf = new char[bytes+1];, then fills buf from a
read(), then passes it to parseInvoke, But nobody ever deletes buf.
Also, parseInvoke takes a const std::string xml, not a
./configure says:
Top level for cross compiling support files is:
and then nothing else. Maybe it should say (none)?
GUI toolkits supported: qt4,kde4,gtk
Renderers supported: OpenGL AGG Cairo
Seems like we should be consistent with these two -- either commas, or
no
The plugin correctly installs itself into Mozilla, Firefox, or Konqueror.
It can play some SWF files in cooperation with the browser. It
should work with any browser that supports Mozilla's NSPR API and
plugin SDK. It has been tested with Mozilla 1.7.13 with gtk2 (won't work with
gtk1
I thought the biggest deal about an SWF file is whether it needs AVM1
or AVM2. But we bury that detail, making the user click Stage Properties,
rather than having it immediately appear when they ask for the Properties
of the running movie. Could we move it up to the top level view?
John
It seems to me that we'd be doing a service to the distros if we
tested (and fixed) the ability of a release-candidate lightspark to
invoke a release-candidate gnash. This would let distros ship in a
configuration that would let their browsers show both AVM2 and AVM1
flash movies. That would
I'm poking into the cause of CPU time going to 100% while running gnash.
I posted some hints a week or two ago, but nobody followed up on them,
so I'm seeing if there's something simple that I can fix.
I'm having trouble figuring out why ExternalEventCheck is polling with
select() and a very
Can anyone think of anything critical that should be fixed before the
code freeze ?
The one thing I've been hoping to get to (but haven't) is whatever
makes gnash burn up massive CPU time when the flash movie is idling.
E.g. in youtube after finishing playing a movie. Yes, there's little
I guess the best help, if you do want to, would be taking on
responsibility to setup and maintain a buildbot for Gnash.
That's not enough. I set one up on my machines in San Francisco as a
buildbot, but they never got used, because Rob's buildbots were all
organized to share a hard drive,
example http://www.youtube.com/watch?v=J5f-jUpUp8o
probably it uses a different player with stricter checks, this video
has geographic restrictions (this movie was released in youtube on the
same day as it hit theaters in India, but it was accessible via
youtube only from outside India)
In
You may have noticed I posted my own 'make check' results to the list,
specifically to try at helping there. Could you, Rob ? Could you, Ben ?
And what about Jhon and Bastiaan ?
I don't have a working build/test environment for Gnash at this point.
Nor access to the proprietary player for
Rob doesn't get it now any more than he ever has.
Well, I could same the same thing, you just don't get it either...
Let me add to the chorus. I don't get it either.
I've never been deep into the technical depths of Gnash or Flash.
But it looks to me like a technical issue (different
Adobe has a facetious campaign about how open they are, now that
Apple has used its own iron fist to lock out Adobe products from the
iPhone/iPad universe. Anybody who really knows anything about Adobe
history knows it's a crock of shit -- Adobe only opens when the world
forces them to -- but
http://incoqnito.com/
Not sure why this works, but it does (mostly). It's slow, but it works.
John
___
Gnash-dev mailing list
Gnash-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnash-dev
I'm running Ubuntu Jaunty x86 Netbook Remix, which has a full-screen
placement policy for ordinary windows. I have gnash-0.8.6. When I'm
watching an embedded gnash movie in Firefox, and use the right button
for the menu, and select File Properties then the new window
doesn't come up decorated
if an SWF5 loads an SWF9 with ABC code in it you'll have that part
unsupported.
Gnash should have some succinct way to report this (rather than paging through
tons of useless details about the display list).
a console pop-up containing ERROR lines...
Seems simple, can we put this in the
I've been hacking on hardware video decoding support in an experimental
branch
Great! It's good to stir up some fun in gnash like this. I'm still
afraid that gnash will soon be irrelevant to most people, until it can
play the friggin' scripts that the most popular video sites surround
their
References: alpine.deb.1.10.0909221558440.4...@thalys.splitted-desktop.com
alpine.deb.2.00.0909221820030.2...@binus.biocede.com
Comments: In-reply-to Bastiaan Jacques basti...@bjacques.org
message dated Wed, 23 Sep 2009 05:39:10 -0700.
Date: Wed, 23 Sep 2009 14:37:37 -0700
From: John Gilmore g
It basically keeps LSO's in RAM if the browser you spawned it from
was in Private Browsing mode -- and avoids letting you change your
flash player Settings as well.
Here's end user style documentation for the feature.
John
The release blog entry here:
http://www.gnashdev.org/?q=node/73
says to go here to download experimental binary packages built by
the gnash team:
http://www.getgnash.org
Going to www.gnashdev.org and clicking Get the Code leads to this page:
http://www.gnashdev.org/?q=node/27
which
FYI
http://www.macworld.com/article/145828/2010/01/youtube_html5.html
http://news.cnet.com/8301-27076_3-10439048-248.html?part=rsssubj=newstag=2547-1_3-0-20
But the codec wars are biting: Firefox isn't supported, because these
sites don't want to transcode to Ogg, and the Morg won't let any
https://developer.mozilla.org/en/Firefox_3.6_for_developers
Found this tidbit. Does it affect the gnash Firefox plugin?
Firefox will no longer load third-party components installed in its
internal components directory. This helps to ensure stability by
preventing buggy third-party
Just so there is plenty of warning, I was hoping to start a code freeze
for the next release sometime in mid Jan.
Is there any kind of a quick, cheap hack that we can do to get major
SWF10 video players working again in this release?
Something like jamming six of our internal objects into one
I also don't know of a free decompiler for AVM2, and without that
getting any SWF to work is hit-and-miss.
A quick search found this blog posting:
http://propella.blogspot.com/2009/10/assembler-for-avm2-using-s-expression.html
It contains both an assembler and a disassembler. It's written
We have a week remaining in the month. Lots of infrastructures have
been shifted in better directions. Can we get a status report?
Last time I knew, we weren't able to do some very basic things in the
SWF10 player. Which of those are fixed, which still need work?
Is there anything we can do
One easy thing to do is to pull down the gnash source code and just
run ./configure and make. That should get you one with symbols,
which you can do performance analysis on.
You can leave Fedora's or Debian's symbols problems for later.
I just wanted to mention to you that Bernie Innocenti and
These are dependent on floating point optimizations. Generally the
failures are due to whether an intermediate value in the calculation are
stored or not, and that depends on GCC version and CPU type. It's not
something that C++ defines a semantic for. There are some compiler flags
to fix it,
933mhz i pass from 40% of cpu when i play the easyvideo file to 100%
of cpu (that grow always) when i play the youtube movie. It is so that
The youtube player seems to burn 100% of the CPU after the video, when
showing you images from other movies you might want to see. I don't
know if it
I went to this page today, and got a black gnash box:
http://www.youtube.com/watch?v=G4S9tV8ZLcE
File-Properties says VM version: SWF 10.
Hmm, not every Youtube video does this. I went to one of the Featured
Videos from their homepage, and it's SWF 9 and works:
I think our next release should focus on
consolidating the gains we've made, making a bunch of that new code
work to give us a working Flash 10 parser. And testing everything
against the top 10 or 20 video sites to knock off the rough edges.
What do you think?
I would try to help in designing the tests though, if anyone would like
to start a discussion on the mailing list.
It would be great to see that stutter go away. I haven't looked at
the guts of the I/O and parser though. Would you want to test that
ultimately the same exact set of bytes gets
about free software.
John Gilmore
___
Gnash-dev mailing list
Gnash-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnash-dev
I am not sure to fully understand what you mean but I will think again
about it tomorrow or over this night. Isn't Gnash/Flash limited to VP6
and H.264? How would MPEG-2 MoComp/iDCT support help Gnash?
All existing video codecs (except Dirac) work basically the same way.
They use the same
At last we've managed to get working audio on Gnash+Nomad. :-)
Congratulations!!!
Now there is the problem that the audio is way late compared to the
screen (approx. 1 second).
For testing purposes I've made a simple movie that does a BEEP every
2.5 seconds and flashes while doing
http://www.xkcd.com/619/
John
___
Gnash-dev mailing list
Gnash-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnash-dev
I figured it's a good time to start testing builds on various platforms,
so pulled down the bzr and tried to build it on an Ubuntu Hardy laptop
I have lying around.
It got through autogen.sh without trouble, but ./configure with no
arguments reports:
checking for KDE 4.x header path...
Hi Ryan, (cc gnash developers)
That was a great article on Flash cookies and the Berkeley research.
Here's more information we've learned while reimplementing Flash from
scratch for the GNU project.
At the Gnash project (the free re-implementation of the proprietary
Adobe Flash player) we offer
You have to manually point it at the .gnash/SharedObjects directory,
then it figures everything out, shows people their flash cookies,
deletes them immediately if you ask, or deletes them everytime the
browser exists (or lets them persist if you request).
I don't think it's the time to make it the default until it has a chance
of working usefully. At the moment it doesn't, and it won't until I've
fixed some fundamental bugs, which depends on separating the AS objects
for the two VMs properly, which is more or less related to the VM
reentrancy
Unlike the lockdown proprietary player, a free player should never
prevent the user from accessing gnash's menus. These are the only way
that users normally even know gnash is there (e.g. the About box
required by the GPL, which notifies users of the copyright and license
and their rights). It's
This may be an improvement over how it works in the pp, but when I let
a youtube video finish, and it's showing me other possible videos, it
also overlays Ads by Google in a box. These ads always come up
containing nothing but the word undefined.
Screenshot attached...
I'm on Ubuntu 9.04 using
12837:3060619056] 10:22:45: ACTIONSCRIPT ERROR: Reference to undefined me=
mber [string:overwrite] of object [object(gnash::as_object):0x9701740]
These are produced by the separate logging option for actionscript
errors, which is outside the normal verbosity levels (though you have to
have
I turned on the very first level of verbosity in gnash-0.8.5 while
playing youtube videos and discovered that my filesystem had filled
up with many gigabytes of a gnash-dbg.log file.
I suppose the answer is, as my doctor says, If it hurts, don't do that.
But it might be worth looking at the top
I'm running gnash 0.8.5 as shipped with Ubuntu Jaunty. When I go here:
http://www.youtube.com/watch?v=oawX3wenxNcfeature=related
gnash has no trouble displaying the video. But if I click the HD
button, switching it to stream the same movie in higher definition,
then after some
I'm running gnash 0.8.5 as shipped with Ubuntu Jaunty. When I go here:
http://www.youtube.com/watch?v=oawX3wenxNcfeature=related
gnash has no trouble displaying the video. But if I click the HD
button, switching it to stream the same movie in higher definition,
then after some initial
I guess the main problem here would be profiling as gprof won't
notice the amount of time spent there, similarly to how allocation
costs went unnoticed in the ninja case.
Here's another angle on profiling gnash.
I am running powertop on Ubuntu 9.04 on an Acer Aspire One, and have
gnash-0.8.5
I was unable to save audio streams in 0.8.5, just video streams; was this
intentional or accidental? For example, at this page:
http://radiom.org/detail.php?omid=AM.1977.04.30.A
(Click the Listen link at the bottom of the page; then log in using
username from bugmenot.com: wal...@yahoo.com,
I've been looking at the patches in the gnash sources for Ubuntu Jaunty,
and they include patches to server/asobj/NetStreamGst.cpp that allow
dynamic loading of codecs on demand, and retry the opening of gstreamer
output pipes after such a dynamic loading attempt.
If this code works in generic
Mike Perry mikepe...@fscked.org wrote, in a private email:
[I] wrote [a] bare-bones binary firefox XPCOM component that loads on Linux,
Windows, and Mac OS to move prototype code into (it should be
doable to make it work on all 3 platforms). This was harder than it
should have been.
But when I started up firefox some flash comes up quickly (within a few
seconds), some pages hang for 15 to 30 pages (hang firefox so firefox
buttons don't work and won't redraw in X11). But then some videos start
playing if you wait about 90 seconds. I tested going to a few Google
If you
http://www.pbs.org/frontlineworld/stories/albania801/
I'm running gnash trunk (bzr log says revno 10643) on x86 Ubuntu Hardy.
When I go to this page and click Watch Video Online, it pops up a
separate web window, and runs Gnash in it. The video comes out
only covering the top quarter of its
http://gnashdev.org/?q=node/27
says curr release is 0.8.4.
(Also, if we provide precompiled packages, shouldn't this page link to
them as well as to the FSF source code and BZR repo?)
John
___
Gnash-dev mailing list
Gnash-dev@gnu.org
John Gilmore wrote:
Unfortunately at this point I lost control of the whole screen. I had
to go somewhere else on the network, ssh into my machine, and kill off the
gnash-gtk process. Then I had a window system again.
I could not reproduce this.
I reproduced it several times
http://www.contentagenda.com/blog/150150/post/890041489.html
[A few links are in the original]
Time Warner goes all Flash - March 3, 2009
Another piece of what looks increasingly like a Grand Bargain Time
Warner is seeking to strike with its various distribution partners
fell into place
Other than the XV support, hacking on this branch should be oriented
towards bug fixing what needs to be done.
The trunk (as of a few days ago) still has serious bugs with Youtube's
embedded player, the largest of which is that it floats a big play
button in the middle of the video window for
Are we frozen yet? I see Rob trying to restart the nightly builds.
What needs doing, what's already done?
John
___
Gnash-dev mailing list
Gnash-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnash-dev
I was looking at Youtube videos, and found this one:
YOUTUBE HACK: How to watch OLDER VIDEOS in Higher Quality on YouTube!
http://www.youtube.com/watch?v=27mb_AyzGyQfeature=related
It reports how to get a higher quality video by adding fmt=18 to
the end of the URL, as in:
I was trying to poke at saved files and having half the output go to
stderr, the other half to stdout, was making me crazy.
John
=== modified file 'libamf/buffer.cpp'
--- libamf/buffer.cpp 2008-12-23 02:57:22 +
+++ libamf/buffer.cpp 2009-02-15 01:28:32 +
@@ -697,7 +697,8 @@
Gnash lets the user put an RC file in ~/.gnashrc. The properties that
the plugin's GUI lets you edit go into $HOME/.gnashpluginrc. It
doesn't need the .gnashrc file, and doesn't ever install one, yet if
one doesn't exist, it complains every time you run gnash or flvdumper
or other programs.
audio works fine. Apparently gnash isn't finding the installed AAC
codec, even though gstreamer finds it without trouble.
In theory this should work with gstreamer-plugins-bad 0.10.9.1 or
higher, since that version adds the aacparse element which is
currently required for (non-FLV) AAC
gst/MediaParserGst.cpp: In member function `bool
gnash::media::gst::MediaParserGst::pushGstBuffer()':
gst/MediaParserGst.cpp:204: error: ISO C++ says that these are ambiguous, even
though the worst conversion for the first is better than the worst conversion
for the second:
By copying the plugin to /usr/share/ubufox/plugins, I was able to
get Ubuntu's firefox to see it. (I guess they configure this
directory in the .dsc file for the Ubuntu packages.)
The Gnash plugin's About box needs a 2009 copyright update.
Also gnash --version. (Anyplace else? The
An HD H.264 stream was saved without trouble, and plays in totem (tho
it had trouble playing in gnash due to waiting for the incoming data):
http://www.youtube.com/watch?v=T8VwCFxEchsfeature=hd
In this youtube video (FLV), the audio and video frequently
separate from each other. I don't know
1 - 100 of 188 matches
Mail list logo