<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: SMPTE 12M Timecode Support for Silverlight</title>
	<atom:link href="http://blog.johndeutscher.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.johndeutscher.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/</link>
	<description>Ideas on technology and media</description>
	<lastBuildDate>Sat, 06 Mar 2010 18:15:30 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: John Deutscher</title>
		<link>http://blog.johndeutscher.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-130</link>
		<dc:creator>John Deutscher</dc:creator>
		<pubDate>Wed, 06 Jan 2010 17:03:16 +0000</pubDate>
		<guid isPermaLink="false">http://johndeutscher.wordpress.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-130</guid>
		<description>Gern geschehen. Lassen Sie mich wissen, wenn Sie irgendwelche Fragen zu sehen.
Danke</description>
		<content:encoded><![CDATA[<p>Gern geschehen. Lassen Sie mich wissen, wenn Sie irgendwelche Fragen zu sehen.<br />
Danke</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Polling Video – A Viable sub-second alternative? - Jesse Liberty - Silverlight Geek</title>
		<link>http://blog.johndeutscher.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-129</link>
		<dc:creator>Polling Video – A Viable sub-second alternative? - Jesse Liberty - Silverlight Geek</dc:creator>
		<pubDate>Thu, 31 Dec 2009 04:27:52 +0000</pubDate>
		<guid isPermaLink="false">http://johndeutscher.wordpress.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-129</guid>
		<description>[...] regard to my intended use of embedded “heartbeat” markers.&#160; Mike Loynd (WL) referred me to this fascinating article by John Deutscher (PM for IIS Media).&#160; That caused me to experiment with [...]</description>
		<content:encoded><![CDATA[<p>[...] regard to my intended use of embedded “heartbeat” markers.&#160; Mike Loynd (WL) referred me to this fascinating article by John Deutscher (PM for IIS Media).&#160; That caused me to experiment with [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: [Silverlight] TimeCode aus .wmv auslesen - Forum Fachinformatiker.de</title>
		<link>http://blog.johndeutscher.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-122</link>
		<dc:creator>[Silverlight] TimeCode aus .wmv auslesen - Forum Fachinformatiker.de</dc:creator>
		<pubDate>Fri, 06 Nov 2009 16:05:51 +0000</pubDate>
		<guid isPermaLink="false">http://johndeutscher.wordpress.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-122</guid>
		<description>[...]  [...]</description>
		<content:encoded><![CDATA[<p>[...]  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Deutscher</title>
		<link>http://blog.johndeutscher.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-120</link>
		<dc:creator>John Deutscher</dc:creator>
		<pubDate>Thu, 29 Oct 2009 18:51:25 +0000</pubDate>
		<guid isPermaLink="false">http://johndeutscher.wordpress.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-120</guid>
		<description>There are no current workarounds other than to stretch out the length of the file and put in a marker where you want the end to be and to pause / stop when you reach that point. However, this workaround will change other behaviors. For instance, you won’t get MediaEnded events using that technique since you’ve effectively invented you own MediaEnded event that happens before MediaEnded.

Beyond that, the only other workaround that even remotely comes to mind is build a &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.windows.media.mediastreamsource%28VS.95%29.aspx&quot; rel=&quot;nofollow&quot;&gt;MediaStreamSource &lt;/a&gt;   and handle all of the samples yourself, but that is a fair amount of work.</description>
		<content:encoded><![CDATA[<p>There are no current workarounds other than to stretch out the length of the file and put in a marker where you want the end to be and to pause / stop when you reach that point. However, this workaround will change other behaviors. For instance, you won’t get MediaEnded events using that technique since you’ve effectively invented you own MediaEnded event that happens before MediaEnded.</p>
<p>Beyond that, the only other workaround that even remotely comes to mind is build a <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.mediastreamsource%28VS.95%29.aspx" rel="nofollow">MediaStreamSource </a>   and handle all of the samples yourself, but that is a fair amount of work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sergey Novikov</title>
		<link>http://blog.johndeutscher.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-119</link>
		<dc:creator>Sergey Novikov</dc:creator>
		<pubDate>Thu, 29 Oct 2009 10:25:32 +0000</pubDate>
		<guid isPermaLink="false">http://johndeutscher.wordpress.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-119</guid>
		<description>Hi, John.
Do you have any thoughts about workaround on 1% ussue with mediaelement, or do you have contact of someone I can ask about it?</description>
		<content:encoded><![CDATA[<p>Hi, John.<br />
Do you have any thoughts about workaround on 1% ussue with mediaelement, or do you have contact of someone I can ask about it?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Deutscher</title>
		<link>http://blog.johndeutscher.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-118</link>
		<dc:creator>John Deutscher</dc:creator>
		<pubDate>Mon, 26 Oct 2009 23:31:30 +0000</pubDate>
		<guid isPermaLink="false">http://johndeutscher.wordpress.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-118</guid>
		<description>Kalyan,
I&#039;m assuming you mean that you want to validate the entry of some timecode? Usually that should be done at the UI level, but I also do it when parsing strings passed into the timecode class.

In the Timecode.cs file I just used a Regular Expression to validate the format of the timecode and then checked to see if the data was in the expected range. 
Regex =    &quot;(?\\d{2}):(?\\d{2}):(?\\d{2})(?::&#124;;)(?\\d{2})&quot;

You actually can just split the string on &quot;:&quot; and &quot;;&quot; and validate the ranges on the results. I think each of my functions validates the range of the frames specifically for the specific format (25, 24, etc..).</description>
		<content:encoded><![CDATA[<p>Kalyan,<br />
I&#8217;m assuming you mean that you want to validate the entry of some timecode? Usually that should be done at the UI level, but I also do it when parsing strings passed into the timecode class.</p>
<p>In the Timecode.cs file I just used a Regular Expression to validate the format of the timecode and then checked to see if the data was in the expected range.<br />
Regex =    &#8220;(?\\d{2}):(?\\d{2}):(?\\d{2})(?::|;)(?\\d{2})&#8221;</p>
<p>You actually can just split the string on &#8220;:&#8221; and &#8220;;&#8221; and validate the ranges on the results. I think each of my functions validates the range of the frames specifically for the specific format (25, 24, etc..).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kalyan chakrvarty</title>
		<link>http://blog.johndeutscher.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-117</link>
		<dc:creator>Kalyan chakrvarty</dc:creator>
		<pubDate>Mon, 26 Oct 2009 12:48:20 +0000</pubDate>
		<guid isPermaLink="false">http://johndeutscher.wordpress.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-117</guid>
		<description>John,

How can i validate the TimeCode in a efficient way, so that i can catch the wrong entry. Can you please help me regarding this issue.

Kalyan</description>
		<content:encoded><![CDATA[<p>John,</p>
<p>How can i validate the TimeCode in a efficient way, so that i can catch the wrong entry. Can you please help me regarding this issue.</p>
<p>Kalyan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Deutscher</title>
		<link>http://blog.johndeutscher.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-116</link>
		<dc:creator>John Deutscher</dc:creator>
		<pubDate>Sun, 25 Oct 2009 01:17:26 +0000</pubDate>
		<guid isPermaLink="false">http://johndeutscher.wordpress.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-116</guid>
		<description>Sergey,
The 1% issue at the end of a video was something I had not seen before in testing. I went back and looked some more at it and asked around and it is apparently a known behavior of the Silverlight MediaElement runtime. Seeking at the last 1% of a file results in the runtime seeking to the lesser of the NaturalDuration *0.99 or 1 second.
There were designed reasons for this I believe. 

The issue that you found in the conversion for PAL was also addressed in my latest updates to the Timecode class. I have actually been switching from decimal math to float for some of the functions to fix some precision rounding issues.</description>
		<content:encoded><![CDATA[<p>Sergey,<br />
The 1% issue at the end of a video was something I had not seen before in testing. I went back and looked some more at it and asked around and it is apparently a known behavior of the Silverlight MediaElement runtime. Seeking at the last 1% of a file results in the runtime seeking to the lesser of the NaturalDuration *0.99 or 1 second.<br />
There were designed reasons for this I believe. </p>
<p>The issue that you found in the conversion for PAL was also addressed in my latest updates to the Timecode class. I have actually been switching from decimal math to float for some of the functions to fix some precision rounding issues.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Deutscher</title>
		<link>http://blog.johndeutscher.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-115</link>
		<dc:creator>John Deutscher</dc:creator>
		<pubDate>Sun, 25 Oct 2009 01:02:37 +0000</pubDate>
		<guid isPermaLink="false">http://johndeutscher.wordpress.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-115</guid>
		<description>John,
I have not done any profiling of that method myself, but that sounds about right.  For most of the apps that I have used the TimeCode class in I have found that 200ms updates is just fine for refreshing the UI text of the timecode as it it ticking along. I&#039;m not sure about your specific use case, but I can&#039;t seem to get my brain to even read the frames as they are ticking along that quickly anyways. 
I would not bother trying to update the UI for every frame unless you have some really specific need to be that accurate (although you will likely be more constrained by the speed of the user that is interacting with your app).</description>
		<content:encoded><![CDATA[<p>John,<br />
I have not done any profiling of that method myself, but that sounds about right.  For most of the apps that I have used the TimeCode class in I have found that 200ms updates is just fine for refreshing the UI text of the timecode as it it ticking along. I&#8217;m not sure about your specific use case, but I can&#8217;t seem to get my brain to even read the frames as they are ticking along that quickly anyways.<br />
I would not bother trying to update the UI for every frame unless you have some really specific need to be that accurate (although you will likely be more constrained by the speed of the user that is interacting with your app).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John</title>
		<link>http://blog.johndeutscher.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-114</link>
		<dc:creator>John</dc:creator>
		<pubDate>Sat, 24 Oct 2009 12:47:59 +0000</pubDate>
		<guid isPermaLink="false">http://johndeutscher.wordpress.com/2009/02/18/smpte-12m-timecode-support-for-silverlight/#comment-114</guid>
		<description>Hi John,

I&#039;ve been profiling my app which uses the Timecode class using Eqatec profiler.

I&#039;m new to profiling and still getting my head round all that is presented.  However it looks like the conversion from absolute time ToString() (25fps) takes about 80ms  this is 2 frames of time!

I have created a timecode clock using the class, for GUI use, and I am concerned that 40ms timer hitting an operation that takes 80ms could cause me problems. (curiously it does not seem too)  Cautiously I reduced my Timer interval to 160ms and display every 4th frame.

Do you have any thoughts on this potential performance issue?

regards

John.</description>
		<content:encoded><![CDATA[<p>Hi John,</p>
<p>I&#8217;ve been profiling my app which uses the Timecode class using Eqatec profiler.</p>
<p>I&#8217;m new to profiling and still getting my head round all that is presented.  However it looks like the conversion from absolute time ToString() (25fps) takes about 80ms  this is 2 frames of time!</p>
<p>I have created a timecode clock using the class, for GUI use, and I am concerned that 40ms timer hitting an operation that takes 80ms could cause me problems. (curiously it does not seem too)  Cautiously I reduced my Timer interval to 160ms and display every 4th frame.</p>
<p>Do you have any thoughts on this potential performance issue?</p>
<p>regards</p>
<p>John.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
