[flexcoders] Flash Speed test - RESULTS !
Thanks to all those who took part in my Flash speed test a few weeks ago. I'd like to share back the results, but I must caveat that I only got a small amount of data, so these results are not statically significant. The Purpose = I wanted to know how consistent the timing is in Flash across the plethora of web browsers out there in the wild. I had been working on a app that somewhat reliest on consistent timing, hence my curiosity. The Method = I wrote a very simple app using the flex framework, that did the following: 1. Set the framerate to x 2. Measure the system time (getTimer()) 3. Add an event listener to Event.ENTER_FRAME 4. on each frame enter, increment a counter, until the counter == x * 10 5. Measure the system time again, and deduct the value from (2) 6. Compute the implied framerate as (x * 10)/ value from (5) 7. Capture OS/Browser setup from UserAgent string, using JS. 8. send data to server (GAE) I did this for x=24 and for x=1000 Known Experimental Deficiencies = a) getTimer may not be accurate b) incrementing a counter once per frame is not representative of the real computational load most apps would place per frame c) individual system performance varies with time, e.g. with the load placed by other apps, with GC, etc d) I don't know enough about the internals on the Flash player, or the browsers, to really know what's going on in there, and what else might make this experiment flawed (unknown unknowns...) e) Some of the data points came from the same PCs (including mine) f) Most tests were done on developers' machines, which are not representative of the average machine g) I didn't test anything between x=24 and x=1000, and there may be speeds between 24 and 1000 that operate very differently. Results == Data Set: data points (n) = 134 n By OS - Mac: 28, Win: 100, Linux: 6 n By x - x=1000 FPS: 73,x=24 FPS: 61 Range of results: x=24: min=16.5, max=24.2 x=1000: min=24.3, max=998.9 Results by OS/browser: (the data gets spotty here, so I'll summarize) x=1000 OS = Mac n= 10 results: min = 24.3, max=58.0, mean = 49.6 results: 7 @ 56-58, 2 @ 24-26, 1...@46 x=24 OS = Mac n= 18 results: min = 16.5, max=24.1, mean = 21.5 Safari 4 on Intel: mean=23.9, n=4 Safari 4 on PPC: mean=16.5, n=1 Safari 3 on Intel: mean=19.4, n=3 FF3.0.z on Intel: mean = 20.6, n=5 (other data points are one-offs, so not quoted) x=1000 OS = Win XP / Vista (excluded Win 2000, and 'Windows') n= 56 results: min = 54.6, max=998.9, mean = 586 FF 3.0.8: mean = 930, n=21, min=780, max=998.9 IE 6.z 7.z 8.z: mean = 62.6, n=13, min=54.7 max=64.1 Chrome: mean = 187.3, n=5, min=173.5 max = 199.7 x=24 OS = Win XP / Vista (excluded Win 2000, and 'Windows') n= 40 results: min = 20.7, max=24.2, mean =23.1 FF 3.0.8: mean =23.3 , n=17, min=21.6, max=24.2 IE 6.z 7.z 8.z: mean =23.1 , n=11, min=20.7 max=24.2 Chrome: mean =24.2 , n=2, min=24.169 max =24.174 x=1000 OS=Linux n=3 mean=80.9 ,min=66.8, max=105 x=24 OS=Linux n=3 mean = 24.0, min=23.8, max=24.1 Discussion None of this data is statistically significant, as there isn't enough of it, but a few patterns emerge nonetheless. To prevent me peppering this section with qualifying words, like 'maybe', 'perhaps', etc I shall present these observations as facts, though they clearly ARE NOT. 1) You can't get higher than 60 FPS on Mac when you request 1000 FPS 2) Requesting 24 FPS on a Mac gives varied results. Safari 4 seems pretty reliable, unless the machine is running PowerPC. FF 3.0.z delivers a mean on 20.6 FPS, which 14% slow of the target 24 FPS 3) Windows is very different to Mac 4) The max FPS on windows is highly dependent on the browser. 5) The actual FPS on windows when FPS 1000 is requested for a specific browser is pretty consistent - FF 3.0.8 is clustered around 900, Chrome is clustered around 180, IE is clustered around 60 6) The actual FPS on Windows when FPS 24 is requested is pretty reliable on all browsers, averaging 23.1 FPS 7) The actual FPS on Windows and Mac when requesting FPS 24 never exceeded 24.2 FPS - i.e. you 'never' get a speed that's too fast. To summarize these point observations: don't rely on actually getting the FPS that you request, and don't rely on what you do get being consistent across browsers and OSs. It appears that FPS 24 is a fairly safe bet (but FPS 40 might be too, for all I know). If you can, write apps that don't require the FPS to be correct for the app to function properly (i.e. dont try to derive time from a count of ENTER_FRAME, either implicitly or explicitly). Test extensively across browsers and OSs, especially cross Windows-Mac. I'd be interested to hear what you all think - what important things have I missed? cheers tom
[flexcoders] Speed Test - help needed please
Hi All - please help with this test, it will only take you 30 seconds.. I'm doing some tests to see how 'fast' the Flash Player is in a variety of environments. It's working well, but so far I only have ~100 data points. I especially need more data points for: Mac running Safari 3.x Mac running FireFox - any version PC running MS IE - any version This is test has been checked out by several members of this group, all of whom attest that it is malware free The claims about this being a Trojan horse have since been withdrawn Please click each of the links below to take part: (you don't have to do anything other than click the link) http://flatim3000.appspot.com/?fps=24 http://flatim3000.appspot.com/?fps=1000 It's totally malware free. If you're interested, see below for details. Please hit it as many times as you like, from as many different environments as you can :) I'll share the results when I'm done. thank tom details = The SWF: 1. attempts to set the frame rate to 24 or 1000 2. listens for enter_frame 240 or 10,000 times 3. records how long (2) takes 4. computes the actual FPS 5. send the data to a server, along with details on OS, Browser, FP version, IP Any suggestions/improvements - let me know...
[flexcoders] Flash speed test - please participate - only 1 click required !
Hi All, I'm doing some tests to see how 'fast' the Flash Player is in a variety of environments. Please click the link to take part: (you don't have to do anything other than click the link) http://flatim3000.appspot.com It's totally malware free. If you're interested, see below for details. Please hit it as many times as you like, from as many different environments as you can :) I'll share the results when I'm done. cheers tom details = The SWF: 1. attempts to set the frame rate to 1000 2. listens for enter_frame 10,000 times 3. records how long (2) takes 4. computes the actual FPS 5. send the data to a server, along with details on OS, Browser, FP version, IP Any suggestions/improvements - let me know...
[flexcoders] Flash causing Mac to crash
I have a Flash app (built in Flex 3.2 for FP 10) that is causing some Macs to crash (they have FP 10 installed). It works fine on Windows in IE, FF, Chrome, Safari. I need to do some more testing to understand exactly what is going on, but before I do that I'm doing some research (and I dont have a Mac at my hands right now). I see some forum discussion between Mac users about Flash causing problems, and how they remedy that on their side. Questions 1. Is there a site that lists the known issues for Flash on Macs? 2. Are there any known 'danger zones' that Flex developers should avoid when building applications with Flex? (i.e. are the certain classes that are known to cause trouble?) thanks tom
[flexcoders] Adobe Releases ActionScript 3.0 Client Library for Facebook Platform
http://www.itnewsonline.com/news/Adobe-Releases-ActionScript-3.0-Client-Library-for-Facebook-Platform/13846/4/3
[flexcoders] playerProductInstall calling for v10
I'm using the playerProductInstall supplied with FB 3 to make sure my users have the correct version of flash player. I'm using the JS supplied with FB 3 to detect the player version and prompt as neccessary. It is correctly identifying when the player is v 9.0.124 and when it is not. However, whenever the player is 9.0.124 the playerProductInstall displays the message: This content requires Adobe Flash Player 10... Which isnt strictly true. Can I control it so that it says ..Flash Player 9..? Is this happening because of a setting I have incorrectly set (I was previously working with FP 10), or is this a tactic by Adobe to get FP 10 out in the wild? thanks tom
[flexcoders] allow user to upload files (maybe to Amazon S3)
I'm planning to add 'file upload' functionality to my flex app, which will let users upload files from their machines to a server. I have a rough plan (below) which I'd like to sanity check before I implement it, and ask is there a better way...? Requirements === 1. Any signed-in user can upload a file 2. All uploaded files cannot be read nor deleted by any user (read and delete only by admin) 3. Needs to be able to handle fairly big files (1-100 MB) 4. Doesn't expose my storage server to anonymous uploads I currently use Google App Engine as the backend for the rest of my app, but it is not friendly towards big files, so that is a no go for this. So I'm thinking of using Amazon S3, as follows: a. user selects file b. construct request string c. send request string to GAE server, which returns my signature for that request (means that my secret key must reside on GAE, but not in the SWF) d. send signed request to Amazon S3. Questions 1. Is there a better way / better service? 2. Am i right to be paranoid about no putting my secret key in the SWF? 3. Does this sounds like a sensible solution? Anyone tried such a thing? thanks tom
[flexcoders] Re: dataGrid not receiving user input (intermitently) in bottom righ
2. Assuming that the item renderer only needs to manipulate the text of the renderer, is example 1 - extending DataItemGrid - (below) a good way to do it? (I've never written one before, so I'm just checking) No, for text only, use a labelFunction; instead of a custom itemRenderer. Thanks! Did that, and it works (as it did using DataItemGrid, but I assume this is less resource intensive?) 3. Is there anything else wrong with the example 1 below / a better way? Better to handle the calcs in commitProperties. Good to know, for when I really need to use it :) thanks all, tom
[flexcoders] Re: dataGrid not receiving user input (intermitently) in bottom right - itemRenderer problem..
Problem solved. But is was bizarre, so I'll explain. Also, I still have one or two questions, but mainly for education now... First, I set the visible property of the dataGrid to false. I then check the redraw region and never saw the area that was causing trouble before. So I figured it was probably something in the dataGrid. The item renderers being prime suspect, as I wrote them.. I put it back to visible = true, and played some more. I discovered that the problem didnt manifest itself at first, only after a fair amount of mouse activity over the dataGrid. Maybe a memory leak in my item renderer? Then I looked at Alex Harui's blog, and saw that I could/ should be extending DataGridItemRenderer. I did that, and all seems fine now. The speed at which the dataGrid appearance keeps up with the mouse movements over it is 10x faster than before. My questions: 1. Are there any known issues with extending Label for item renderers? 1b. What's wrong with example 2 - extending Label - (below)? 2. Assuming that the item renderer only needs to manipulate the text of the renderer, is example 1 - extending DataItemGrid - (below) a good way to do it? (I've never written one before, so I'm just checking) 3. Is there anything else wrong with the example 1 below / a better way? thanks tom *** example 1 package com.*** { import mx.controls.dataGridClasses.DataGridItemRenderer; public class LengthRenderer extends DataGridItemRenderer { override public function set data(value:Object):void { super.data = value; if(value!= null value.length != null) { this.invalidateProperties(); } } override public function validateProperties():void { super.validateProperties(); var mins:int = Math.floor(data.length/60) var secs:String = (data.length - mins).toString() if (secs.length == 1){secs = 0 + secs} this.text = mins.toString()+:+secs } } } *** example 2 *** package com.*** { import mx.controls.Label; public class LengthRenderer extends Label { override public function set data(value:Object):void { super.data = value; if(value!= null value.length != null) { this.invalidateDisplayList(); } } override protected function updateDisplayList(unscaledWidth:Number,unscaledHeight:Number):void { var mins:int = Math.floor(data.length/60) var secs:String = (data.length - mins).toString() if (secs.length == 1){secs = 0 + secs} this.text = mins.toString()+:+secs } } } --- In flexcoders@yahoogroups.com, Tim Hoff timh...@... wrote: Has to be another object on top of the DataGrid. The redraw region is the clue. Look at the other objects in the same class as the DataGrid. -TH --- In flexcoders@yahoogroups.com, Tracy Spratt tspratt@ wrote: If you are pretty sure there is not something invisible covering that area, try cleaning the project. Tracy _ From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of tom s Sent: Saturday, March 07, 2009 6:31 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] dataGrid not receiving user input (intermitently) in bottom right I have a datagrid that works ~50% of the time. The other 50% of the time the dataGrid wont accept user interaction in the bottom right area (the bottom 3 (of 6) rows, right 2 (of 4) columns). i.e. that part of the grid does not react to mouse over events, not mouse click events. Sometimes is reacts to click events as if they are occurring in the row in which a mouse_over interaction was last observed. Looking at the redraw regions, I see that a redraw region occasionally appears in the bottom right of the grid - exactly where he grid is not receiving user input. So that is probably related. But I don't know what it is a redraw region for. I've checked my other component and they aren't near. I have the following custom item renderers: column 2: extends Canvas column 3: extends Label column 4: extends Label. Anyone know what might be causing this? Or how to fix it / diagnose it further? thanks tom
[flexcoders] dataGrid not receiving user input (intermitently) in bottom right
I have a datagrid that works ~50% of the time. The other 50% of the time the dataGrid wont accept user interaction in the bottom right area (the bottom 3 (of 6) rows, right 2 (of 4) columns). i.e. that part of the grid does not react to mouse over events, not mouse click events. Sometimes is reacts to click events as if they are occurring in the row in which a mouse_over interaction was last observed. Looking at the redraw regions, I see that a redraw region occasionally appears in the bottom right of the grid - exactly where he grid is not receiving user input. So that is probably related. But I don't know what it is a redraw region for. I've checked my other component and they aren't near. I have the following custom item renderers: column 2: extends Canvas column 3: extends Label column 4: extends Label. Anyone know what might be causing this? Or how to fix it / diagnose it further? thanks tom
[flexcoders] colorPicker panel height
Hi all, Anyone know how to set the height of the panel of a colorPicker? i.e. the hight of the rectangle that pops-up when the colorPicker is clicked on, and in which the swatches sit. I have a panel that only has 9 swatches in it in one row. Each swatch is 22 x 22 pixels, but the panel is 100 pixels tall, i.e. ~4x taller than it need to be. The other ~75 pixels are blank space. The documented list of attributres for swatchPanelStyleName doesn't seem to cover panel height (see below, from docs). Is that list exhaustive? thanks tom .mySwatchPanelStyle { backgroundColor:#E5E6E7; columnCount:20; horizontalGap:0; previewHeight:22; previewWidth:45; swatchGridBackgroundColor:#00; swatchGridBorderSize:0; swatchHeight:12; swatchHighlightColor:#FF; swatchHighlightSize:1; swatchWidth:12; textFieldWidth:72; verticalGap:0; }
[flexcoders] ns.publish('mp3:mystream', record) - Online documentation different to FB 3.0.2 - what gives?
Hi, I'd like to record from a microphone to a .mp3 file on FMS 3.5.There are numerous posts on the net saying this is not possible. But the Flex 3.2 Language Reference on LiveDocs implies that it is (text pasted at bottom of email): http://livedocs.adobe.com/flex/3/langref/flash/net/NetStream.html#publish() However, the Language Reference built into FB 3.0.2 does not make any reference to publishing .mp3s. So what gives? Is this a typo in the Livedocs? Is this a feature that isn't available yet, but will be soon? Is it in-fact possible, but the details of how to do it aren't published? When I try it I get NetStream.Publish.BadName My setup is: Flex SDK 3.2 Flash Player 10.0.r12 Debug FMS 3.5 using LiveStreams app BTW - the new speex codec in FP10 is awesome. Good recording of speech even at 10 kbps. cheers tom From LiveDocs === File formatSyntaxExampleFLVSpecify the stream name as a string, without a filename extension. ns.publish(myFLVStream); MP3 or ID3 Specify the stream name as a string, with prefix mp3: or id3: , respectively, and without a filename extension. ns.publish(mp3:myMP3Stream); ns.publish(id3:myID3data); MPEG-4-based files (such as F4V, MP4) Specify the stream name as a string, with or without the filename extension and with the prefix mp4: . The prefix indicates to Flash Media Server that the file contains H.264-encoded video and AAC-encoded audio within the MPEG-4 Part 14 container format. ns.publish(mp4:myVideo.f4v) ns.publish(mp4:myVideo.mp4); ns.publish(mp4:myVideo); (whic
[flexcoders] swf animation library
Does anyone know of a library of stock swf animations that are free for commercial use?(compiled or src) I need an animation that is 'hour-glass-esque', e.g. something like balls chasing each other round in a circle, to display to the user to indicate that something is going on and that they have to wait (backed up by text info) I think it would be fairly simple to write in AS, but I figure if someone else has already done that and OSd it then why bother.. thanks tom
[flexcoders] Warning: CheckVisibility is not a function ?
Hi, I have an application running in Flash Debug Player 10.0 r12 for Firefox. It keeps writing 'Warning: CheckVisibility is not a function' to the flashlog.txt I am running FF 3.0.5 and Flash Switcher. Any ideas what might be causing this? thanks tom
[flexcoders] How to test flash apps in the normal (non-debug) player with the debug player in installed?
Hi All, I have the flash debug player installed for FireFox and IE. What is the best way to test flash apps in the normal (non-debug) player on the *same machine*? (I don't have access to a spare machine right now). I want to do this test because I have read that the error thrown by ExternalInterface.call is different in the normal player than the debug player, but that was written many months ago, so I don't know if it is still true (e.g. in version 10.x) thanks tom
[flexcoders] Strange #2147 error
I am using an embedded PNG as the background for my app: mx:Application backgroundImage=@Embed('c:/we/assets/skins/design-empty1.png') .. I have my Flash Global Security Setting set to: Always trust files from these locations: 'c:\' When I run the app it tells me 'SecurityError: Error #2147: Forbidden protocol in URL @Embed('c:/we/assets/skins/design-empty1.png')' - See below for full details. Additionally, this error was not present yesterday, and to the best of my knowledge I have not made any changes to anything. I have other PNGs embedded for button skins, and they are now throwing errors. How do I fix this? thanks tom SecurityError: Error #2147: Forbidden protocol in URL @Embed('c:/we/assets/skins/design-empty1.png'). at flash.display::Loader/_load() at flash.display::Loader/load() at mx.preloaders::DownloadProgressBar/loadBackgroundImage()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\preloaders\DownloadProgressBar.as:1274] at mx.preloaders::DownloadProgressBar/createChildren()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\preloaders\DownloadProgressBar.as:876] at mx.preloaders::DownloadProgressBar/calcScale()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\preloaders\DownloadProgressBar.as:1185] at mx.preloaders::DownloadProgressBar/show()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\preloaders\DownloadProgressBar.as:1134] at mx.preloaders::DownloadProgressBar/initProgressHandler()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\preloaders\DownloadProgressBar.as:1470] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at mx.preloaders::Preloader/appProgressHandler()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\preloaders\Preloader.as:450] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at mx.core::UIComponent/dispatchEvent()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\core\UIComponent.as:9156] at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:646] at Function/http://adobe.com/AS3/2006/builtin::apply() at mx.core::UIComponent/callLaterDispatcher2()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8565] at mx.core::UIComponent/callLaterDispatcher()[E:\dev\3.1.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8508]
[flexcoders] adding an event listener (in MX:Button) to pass a parameter and an Event Object
I have a button defined in Flex that passes a parameter to a function when clicked MX:Button id=someButton click=fooFunction(barParameter)/ But I want to know the id of the button that triggered the event whilst executing fooFunction. I know that if I register an event listener in AS then I can: someButton.addEventListener(MouseEvent.CLICK, fooFunction) (As I will be able to get at it via the target of the Event) But how do I setup the event listening (in AS or MXML) so that I can both pass a parameter AND know the target? thanks tom
[flexcoders] Flex Builder caching PNGs
I'm @Embedding some PNGs to skin some buttons. If I Run once, then edit the PNG file, then Run again I get the old PNG (w/o the edits), not the new one. My current work-around is to rename the file after each change, but this is a pain. How do I get Flex Builder to not cache the PNGs / to check for changes on each compile? thanks tom
[flexcoders] application structure
Hi, I'm writing my first flex app. So far it all works, but I'm getting to the point where I need to start structuring it, for ease of further development. Right now I simply have many functions defined within the script tag within the application. I'm now thinking through my options for structuring this better. I'm not asking for *specific* structuring recomendations, as I know that would be imposisble w/o you knowing the specifics of what I'm doing. What I'm looking for is a good place to read about the different options, so I can learn about them. Preferable free online, or in Safari Books Online. To be clear: when I say structural options I mean things like: a) having all the code in the script b) putting the code in a seperate .as and point script source= at it (I know this is very similar to (a) ) c) using static methods in a 'static' class d) creating classes to fully OOize the code e) something else I dont yet know about... I'm reading 'Advanced Action Script 3 with Design Patterns', which I hope will help, but I would like to have some flex specific knowledge also, so that I can see examples of how to allow objects outside the application to access those defined by mxml within the application (like buttons). I'm concerned that will end up with a lot of Application.application.foo type code - is that 'normal'? I'm hoping this makes enough sense... thanks tom
[flexcoders] How to get an object to delete itself?
I have custom class that extends UIComponent which I use for putting graphics on to the stage (I add them as children of a seperate UIComponent). In the constructor I create a Timer and watch for the TIMER_COMPLETE event, at which point I want the graphic to dissapear, which I do by setting alpha = 0. However, I am concerned that it will not be garbage collected, and I could end up with quite a few of these, which may be bad for memory. Question: Can i get the object to delete itself? (or atleast be in a state suitable for grabage collection) e.g. this.selfDestruct() ;) The relevant code is shown below. thanks tom * public* *class* DrawingTool *extends* UIComponent { *private* *var* lifeTimer:Timer = *new* Timer(8000,1); *public* *function* DrawingTool():*void*{ *super*(); lifeTimer.addEventListener(TimerEvent.TIMER_COMPLETE,onLifeTimer); lifeTimer.start(); } *private* *function* onLifeTimer(e:Event):*void*{ *this*.alpha = 0 *trace*(*time out*); } }
[flexcoders] Re: Can anybody hear me on flexcoders@yahoogroups.com ?
Mystery no solved, thanks to Tom Chiverton. Please ignore, tom On Mon, Nov 24, 2008 at 4:43 PM, tom s [EMAIL PROTECTED] wrote: Hi, Sorry to intrude on your personal email addresses.. I have sent three message to the flexcoders@yahoogroups.com list so far, and I cannot see them in the archive, nor have I seen them bounced back to me, nor have I received any responses. So the obvious question is: can anybody hear me? Please could one person let me know. I am receiving messages from the list (lots) I registered by the email method (I could not get yahoo.com method to work :( I clicked the 'join this group' button, it asks me for a profile name, and then it takes me to a profile setup page that is a dead-end (ie no further 'join' type buttons). On returning to the flex coders page, I see the 'join this group' button - aghhh...) I got this email in response from the email based sign-up method: Hello, Welcome to the flexcoders group at Yahoo! Groups, a free, easy-to-use email group service. Please take a moment to review this message. To learn more about the flexcoders group, please visit http://www.flexcoders.org or http://groups.yahoo.com/group/flexcoders To start sending messages to members of this group, simply send email to flexcoders@yahoogroups.com Please can someone tell me how to fix this? thanks tom
[flexcoders] Can't get web access to flexcoders
Hello, I'm having trouble getting web access to the list. I'm cursing yahoo right now... I registered to the list using the email registration method from my @ gmail.com account. I am still not registered as a web user of the list, so when I go to http://tech.groups.yahoo.com/group/flexcoders/ I see a link on the left saying: Already receiving group email? When I click on that it says: You are currently a member of group flexcoders at email address [blanked by [EMAIL PROTECTED] [EMAIL PROTECTED]. To activate your Web Access for this group, click Continue. I click Continue and it takes me to the setup page, where it says (amongst other things): Select the Yahoo! Profile you would like to use for this group. This profile will be used to identify you when you access the group's Web features. (Add new profilehttp://edit.profiles.yahoo.com/config/edit_identity?.intl=us.done=http%3a//tech.groups.yahoo.com) Now, I already have a profile, so maybe the bug is that it's not picking it up. When I click 'Add new profile' it takes me to my profile page, where I can edit the profile, but has no links that allow me to associate it with my web membership of the list, or to otherwise complete the setup process. When I go back to the flexcoders page I see the same as stated at the top of this message (I'm still not a member) - i.e. I havent gotten anywhere.. 1. Does anyone know how I can get out of this terminal loop? 2. When did Yahoo become this clunky? thanks tom
[flexcoders] timings for netStream.send()
Hi All, I'm publishing audio to Flash Media Server, using a netStream, from the user's microphone. I'm trying to mark specific points in time in that stream that I will use to trigger other code on play back. Right now I'm doing: ns.send(fooEvent, fooparams) and then catching it with a call back function function fooEvent(info:String):void{} I am recording the time in the stream (ns.time) at which the send() is called, and the time in the stream (on playback) when fooEvent is called, again using ns.time. The problem is that the ns.time during playback seems to be ~250ms later than the ns.time during publishing. This isnt *a lot*, but it's too much for what I'm doing. Questions: 1. Is this an known issue / feature? 2. Any known work-arounds? 3. Any alternative approaches? (would Event cuePoints be better?) 4. Can anyone point me to documentation on how this send() method even works. It looks like it is not inserting cuePoints into the flv itself. Do they get stored in the flv at all, or does FMS put them somewhere else? thanks in advance, tom