code: public static SampleCount valueOf(final String countAndRate)
  	{
  		if (countAndRate == null)
  			return null;
  
  		final String[] parts = countAndRate.split("@");
  
  		if (parts.length == 2)
  		{
  			final long samples = Long.parseLong(parts[0]);
  			final Timebase timebase = Timebase.getInstance(parts[1]);
  
  			return new SampleCount(samples, timebase);
  		}
  		else
  		{
  			throw new IllegalArgumentException("Invalid Vidispine sample count: " +
  			                                   countAndRate +
  			                                   " expected a single @ separating sample count and rate.");
  		}
  	}
docs: Parse a  sample count & timebase as <code>samples@[str_timebase|nom[:denom]]</code>
  N.B. This does NOT consider the case where only a sample count is specified: it MUST include a timebase
  
  @param countAndRate
  A sample count and a time base. The syntax is {number of samples}@{textual representation of time base} 124222@44100,
  400@30000:1001, 400@NTSC
  
  @return