ftp.nice.ch/pub/next/graphics/movie/MPEGPlay2.3.NIHS.bs.tar.gz#/MPEGPlay2.3/Source/MPEGThread.h

This is MPEGThread.h in view mode; [Download] [Up]

// MPEGThread.h - 

#include <sys/types.h>
#include <sys/time.h>
#import <mach/cthreads.h>
#import <libc.h>
#import <streams/streams.h>
#import <appkit/View.h>
#import <objc/Object.h>

#define FCODE_ABORT	   -1
#define FCODE_END		0
#define FP_NUM_INT_DATA 1

typedef struct _mpegPacket
{
	msg_header_t	h;
	msg_type_t		t;
	int 		fcode;
} mpegPacket;

@interface MPEGThread:Object
{
	id		view;
	id		controller;
	int		frameSize;
	port_t	mpegPort;
	cthread_t	cthreadMain;
	FILE *ifp;					// decode
	char *buffer;
	NXStream *pStream, *mStream;
	char *address;				// video cache
	int len, maxlen;
}

/*** Initialization methods ***/
- initSize:(int)size forView:anObject;
- free;

/*** Instance methods and Standard C wrapper functions ***/
void receive_fcode(mpegPacket *, id);
- receiveFcode:(mpegPacket *)pkt;

- decodeFile:(const char *)mpegFile;
any_t mpeg_thread(any_t);
- mpegThread;
- endDecode;
- abortDecode;

@end


@interface Object(MPEGThreadDelegate)
- setFrameNumber:(int)frame;
@end

@interface View(MPEGThreadView)
- setAddress:(char *)anAddress len:(int)aLen maxlen:(int)aMaxlen;
@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.