I am using NSInputStream to upload media file to server in following way.
uploadInputStream = [[NSInputStream alloc] initWithFileAtPath:videoFilePath];
uploadInputStream.delegate = self;
[uploadInputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[uploadInputStream open];
And in NSStream delegate method stream:handleEvent: i am fetching chunk of media file and uploading to server.
- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode {
switch (eventCode) {
    case NSStreamEventOpenCompleted:
        NSLog(@"Strem opened");
        break;
    case NSStreamEventHasBytesAvailable: {
        uint8_t buf[1024*1024];
        unsigned int len = 0;
        len = [(NSInputStream *)aStream read:buf maxLength:1024*1024];
        if(len)
        {
            @autoreleasepool {
                NSMutableData *fileData = [NSMutableData data];
                [fileData appendBytes:(const void *)buf length:len];
                [self uploadVideo:fileData];
            }
        }
        break;
    }
    case NSStreamEventHasSpaceAvailable:
        break;
    case NSStreamEventEndEncountered: {
        break;
    }
    case NSStreamEventErrorOccurred:
        break;
    case NSStreamEventNone:
        break;
    default:
        break;
}
}
So far so good and everything works fine in simulator. The issue is if i test this same code in real device (iPad-mini for now), it always crashing the application with EXC_BAD_ACCESS code=1 at strating of the delegate method stream:handleEvent: .
Anyone has any idea about this? Any help will be appreciated.
Thanks, Jay Stepin.
