Jon, 

Thank you so much for your reply, and the code, it helps tremendously.

In regards to being vague, the simplest I can describe the use case is this: 

- I have an external device streaming H.264 video over Wifi via RTSP. 
- I am constructing an iOS app to receive the RTSP stream, decode the H.264 
video, and render it to the device screen. 
- I need to eliminate any and all latency (buffering). 

I just posted a response to Barry, that will probably give even more insight to 
what I am trying to do. Presently, I have both Live555 and ffmpeg compiled on 
iOS5, and both libraries linked into an iOS 5 Xcode project. I have implemented 
a MediaSink object, though I don't believe it does completely what I need it to 
do yet. What I need to do is gather the received video stream data and 
construct an appropriate video packet to feed to ffmpeg. I'm not completely 
sure about the nature of the data available in the MediaSink 
afterGettingFrame() method, and so I'm hoping that a few of the familiar minds 
here can help bridge that gap. 

Thanks again for your reply -- any additional help on this is greatly 
appreciated. Feel free also to contact me offline if necessary.

Brad

Brad O'Hearne
Founder / Lead Developer
Big Hill Software LLC
http://www.bighillsoftware.com

On Feb 27, 2012, at 3:45 PM, Jon Burgess wrote:

> Further to my previous email, you'll need the following class to run my code:
> 
> //
> //  TimerInvokee.m
> //  openRTSP
> //
> //  Created by Jon Burgess on 22/10/10.
> //  Copyright Jon Burgess. All rights reserved.
> //
>   
> #import "TimerInvokee.h"
>   
> @implementation TimerInvokee
>   
> - (void)execute:(TaskFunc*)proc clientData:(void*)clientData 
> invoker:(NSTimer*)invoker
> {
> //  NSLog(@"Invoking task for timer: %u", invoker);
>     proc(clientData);
>      
>     // We did an extra retain when scheduling, so release equally here now 
> that the timer
>     // has fired to avoid leak.
>     [invoker release];
> }
>   
> @end
> 
> 
> //
> //  TimerInvokee.m
> //  openRTSP
> //
> //  Created by Jon Burgess on 22/10/10.
> //  Copyright 2010 Jon Burgess. All rights reserved.
> //
>   
> #import "TimerInvokee.h"
>   
> @implementation TimerInvokee
>   
> - (void)execute:(TaskFunc*)proc clientData:(void*)clientData 
> invoker:(NSTimer*)invoker
> {
> //  NSLog(@"Invoking task for timer: %u", invoker);
>     proc(clientData);
>      
>     // We did an extra retain when scheduling, so release equally here now 
> that the timer
>     // has fired to avoid leak.
>     [invoker release];
> }
>   
> @end
> 
> _______________________________________________
> live-devel mailing list
> live-devel@lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel


_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to