示例#1
0
		extern static CMSampleBufferError CMAudioSampleBufferCreateWithPacketDescriptions (
		   IntPtr allocator,
		   IntPtr dataBuffer,
		   bool dataReady,
		   IntPtr makeDataReadyCallback,
		   IntPtr makeDataReadyRefcon,
		   IntPtr formatDescription,
		   int numSamples,
		   CMTime sbufPTS,
		   AudioStreamPacketDescription[] packetDescriptions,
		   out IntPtr sBufOut);
示例#2
0
		public static CMSampleBuffer CreateWithPacketDescriptions (CMBlockBuffer dataBuffer, CMFormatDescription formatDescription, int samplesCount,
			CMTime sampleTimestamp, AudioStreamPacketDescription[] packetDescriptions, out CMSampleBufferError error)
		{
			if (formatDescription == null)
				throw new ArgumentNullException ("formatDescription");
			if (samplesCount <= 0)
				throw new ArgumentOutOfRangeException ("samplesCount");

			IntPtr buffer;
			error = CMAudioSampleBufferCreateWithPacketDescriptions (IntPtr.Zero,
				dataBuffer == null ? IntPtr.Zero : dataBuffer.Handle,
				true, IntPtr.Zero, IntPtr.Zero,
				formatDescription.Handle,
				samplesCount, sampleTimestamp,
				packetDescriptions,
				out buffer);

			if (error != CMSampleBufferError.None)
				return null;

			return new CMSampleBuffer (buffer, true);
		}
示例#3
0
		public static CMTime GetMinimum (CMTime time1, CMTime time2)
		{
			return CMTimeMinimum (time1, time2);
		}
示例#4
0
		public static CMTime Multiply (CMTime time, double multiplier)
		{
			return CMTimeMultiplyByFloat64 (time, multiplier);
		}
示例#5
0
		public static CMTime Subtract (CMTime minuend, CMTime subtraend)
		{
			return CMTimeSubtract (minuend, subtraend);
		}
示例#6
0
		public static int Compare (CMTime time1, CMTime time2)
		{
			return CMTimeCompare (time1, time2);
		}
		extern static CMSampleBufferError CMSampleBufferSetOutputPresentationTimeStamp (IntPtr handle, CMTime outputPresentationTimeStamp);
示例#8
0
 extern static IntPtr CMTimeCopyAsDictionary(CMTime time, IntPtr allocator);
示例#9
0
 extern static CMTimebaseError CMTimebaseGetTimeAndRate(IntPtr timebase, out CMTime time, out double rate);
示例#10
0
		public extern static ulong ConvertHostTimeToSystemUnits (CMTime hostTime);
示例#11
0
		public CMClockError GetAnchorTime (out CMTime clockTime, out CMTime referenceClockTime)
		{
			return CMClockGetAnchorTime (Handle, out clockTime, out referenceClockTime);
		}
示例#12
0
		extern static CMClockError CMClockGetAnchorTime (IntPtr clock, out CMTime outClockTime, out CMTime outReferenceClockTime);
示例#13
0
		public static CMTime ConvertTime (CMTime time, CMClockOrTimebase from, CMClockOrTimebase to)
		{
			if (from == null)
				throw new ArgumentNullException ("from");
			if (to == null)
				throw new ArgumentNullException ("to");

			return CMSyncConvertTime (time, from.Handle, to.Handle);
		}
示例#14
0
		extern static CMTime CMSyncConvertTime (CMTime time, IntPtr fromClockOrTimebase, IntPtr toClockOrTimebase);
示例#15
0
		public static CMSyncError GetRelativeRateAndAnchorTime (CMClockOrTimebase clockOrTimebaseA, CMClockOrTimebase clockOrTimebaseB, out double relativeRate, out CMTime timeA, out CMTime timeB)
		{
			if (clockOrTimebaseA == null)
				throw new ArgumentNullException ("clockOrTimebaseA");

			if (clockOrTimebaseB == null)
				throw new ArgumentNullException ("clockOrTimebaseB");

			return CMSyncGetRelativeRateAndAnchorTime (clockOrTimebaseA.Handle, clockOrTimebaseB.handle, out relativeRate, out timeA, out timeB);
		}
示例#16
0
 extern static CMTime CMTimeConvertScale(CMTime time, int newScale, CMTimeRoundingMethod method);
示例#17
0
 extern static CMTime CMTimeMinimum(CMTime time1, CMTime time2);
示例#18
0
 public CMTimebaseError GetTimeAndRate(out CMTime time, out double rate)
 {
     return(CMTimebaseGetTimeAndRate(Handle, out time, out rate));
 }
示例#19
0
 public int SetOutputPresentationTimeStamp(CMTime outputPresentationTimeStamp)
 {
     return CMSampleBufferSetOutputPresentationTimeStamp (handle, outputPresentationTimeStamp);
 }
示例#20
0
 extern static CMTimebaseError CMTimebaseSetRateAndAnchorTime(IntPtr timebase, double rate, CMTime timebaseTime, CMTime immediateMasterTime);
示例#21
0
 static extern CMTime CMTimeMaximum(CMTime time1, CMTime time2);
示例#22
0
 public CMTimebaseError SetRateAndAnchorTime(double rate, CMTime timebaseTime, CMTime immediateMasterTime)
 {
     return(CMTimebaseSetRateAndAnchorTime(Handle, rate, timebaseTime, immediateMasterTime));
 }
示例#23
0
		public static CMTime Add (CMTime time1, CMTime time2)
		{
			return CMTimeAdd (time1, time2);
		}
示例#24
0
 extern static CMTimebaseError CMTimebaseSetTimerNextFireTime(IntPtr timebase, /*CFRunLoopTimerRef*/ IntPtr timer, CMTime fireTime, uint flags);
示例#25
0
		public static CMTime Multiply (CMTime time, int multiplier)
		{
			return CMTimeMultiply (time, multiplier);
		}
示例#26
0
 extern static CMSyncError CMSyncGetRelativeRateAndAnchorTime(IntPtr ofClockOrTimebase, IntPtr relativeToClockOrTimebase,
                                                              out double outRelativeRate, out CMTime outOfClockOrTimebaseAnchorTime, out CMTime outRelativeToClockOrTimebaseAnchorTime);
示例#27
0
		extern static double CMTimeGetSeconds (CMTime time);
示例#28
0
        public static CMSyncError GetRelativeRateAndAnchorTime(CMClockOrTimebase clockOrTimebaseA, CMClockOrTimebase clockOrTimebaseB, out double relativeRate, out CMTime timeA, out CMTime timeB)
        {
            if (clockOrTimebaseA == null)
            {
                throw new ArgumentNullException("clockOrTimebaseA");
            }

            if (clockOrTimebaseB == null)
            {
                throw new ArgumentNullException("clockOrTimebaseB");
            }

            return(CMSyncGetRelativeRateAndAnchorTime(clockOrTimebaseA.Handle, clockOrTimebaseB.handle, out relativeRate, out timeA, out timeB));
        }
示例#29
0
		extern static IntPtr CMTimeCopyDescription (IntPtr allocator, CMTime time);
示例#30
0
 extern static CMTime CMSyncConvertTime(CMTime time, IntPtr fromClockOrTimebase, IntPtr toClockOrTimebase);
示例#31
0
 public static CMTime Multiply(CMTime time, double multiplier)
 {
     return(CMTimeMultiplyByFloat64(time, multiplier));
 }
示例#32
0
 extern static CMClockError CMClockGetAnchorTime(IntPtr clock, out CMTime outClockTime, out CMTime outReferenceClockTime);
示例#33
0
 extern static double CMTimeGetSeconds(CMTime time);
示例#34
0
 public CMClockError GetAnchorTime(out CMTime clockTime, out CMTime referenceClockTime)
 {
     return(CMClockGetAnchorTime(Handle, out clockTime, out referenceClockTime));
 }
示例#35
0
 public static CMTime GetMinimum(CMTime time1, CMTime time2)
 {
     return(CMTimeMinimum(time1, time2));
 }
示例#36
0
 public extern static ulong ConvertHostTimeToSystemUnits(CMTime hostTime);
示例#37
0
 extern static IntPtr CMTimeCopyDescription(IntPtr allocator, CMTime time);
示例#38
0
 extern static CMSampleBufferError CMSampleBufferSetOutputPresentationTimeStamp(IntPtr handle, CMTime outputPresentationTimeStamp);
示例#39
0
 static extern int CMSampleBufferSetOutputPresentationTimeStamp(IntPtr handle, CMTime outputPresentationTimeStamp);
示例#40
0
 public int /*CMSampleBufferError*/ SetOutputPresentationTimeStamp(CMTime outputPresentationTimeStamp)
 {
     return((int)CMSampleBufferSetOutputPresentationTimeStamp(handle, outputPresentationTimeStamp));
 }
		public int /*CMSampleBufferError*/ SetOutputPresentationTimeStamp (CMTime outputPresentationTimeStamp)
		{
			return (int)CMSampleBufferSetOutputPresentationTimeStamp (handle, outputPresentationTimeStamp);
		}
示例#42
0
 extern static CMTime CMTimeAbsoluteValue(CMTime time);
示例#43
0
		extern static int CMTimeCompare (CMTime time1, CMTime time2);
示例#44
0
 extern static int CMTimeCompare(CMTime time1, CMTime time2);
示例#45
0
		extern static CMTime CMTimeAdd (CMTime addend1, CMTime addend2);
示例#46
0
 public static int Compare(CMTime time1, CMTime time2)
 {
     return(CMTimeCompare(time1, time2));
 }
示例#47
0
		extern static CMTime CMTimeSubtract (CMTime minuend, CMTime subtraend);
示例#48
0
 extern static CMTime CMTimeAdd(CMTime addend1, CMTime addend2);
示例#49
0
		extern static CMTime CMTimeMultiply (CMTime time, int multiplier);
示例#50
0
 public static CMTime Add(CMTime time1, CMTime time2)
 {
     return(CMTimeAdd(time1, time2));
 }
示例#51
0
		extern static CMTime CMTimeMultiplyByFloat64 (CMTime time, double multiplier);
示例#52
0
 extern static CMTime CMTimeSubtract(CMTime minuend, CMTime subtraend);
示例#53
0
		extern static CMTime CMTimeConvertScale (CMTime time, int newScale, CMTimeRoundingMethod method);
示例#54
0
 public static CMTime Subtract(CMTime minuend, CMTime subtraend)
 {
     return(CMTimeSubtract(minuend, subtraend));
 }
示例#55
0
		extern static CMTime CMTimeMinimum (CMTime time1, CMTime time2);
示例#56
0
 extern static CMTime CMTimeMultiply(CMTime time, int multiplier);
示例#57
0
		extern static IntPtr CMTimeCopyAsDictionary (CMTime time, IntPtr allocator);
示例#58
0
 public static CMTime Multiply(CMTime time, int multiplier)
 {
     return(CMTimeMultiply(time, multiplier));
 }
示例#59
0
		extern static CMTime CMTimeAbsoluteValue (CMTime time);
示例#60
0
 extern static CMTime CMTimeMultiplyByFloat64(CMTime time, double multiplier);