#include <pthread.h>
#include <IOKit/IOMessage.h>
#include <IOKit/IOKitLib.h>
#include <IOKit/firewire/IOFireWireLib.h>
#include <IOKit/firewire/IOFireWireLibIsoch.h>
#include <IOKit/firewire/IOFireWireFamilyCommon.h>
#include <IOKit/avc/IOFireWireAVCLib.h>
#include <CoreServices/CoreServices.h>
#include <algorithm>
#include <vector>
#include "libmythbase/mthread.h"
#include "libmythbase/mythlogging.h"
#include "libmythbase/mythtimer.h"
#include "darwinavcinfo.h"
#include "darwinfirewiredevice.h"
#include <AVCVideoServices/StringLogger.h>
#include <AVCVideoServices/AVSShared.h>
#include <AVCVideoServices/MPEG2Receiver.h>
Go to the source code of this file.
|
| AVS |
| DarwinFirewireChannel Copyright (c) 2005 by Jim Westfall SA3250HD support Copyright (c) 2005 by Matt Porter Copyright (c) 2006 by Dave Abrahams Distributed as part of MythTV under GPL v2 and later.
|
|
|
IOReturn | AVS::CreateMPEG2Receiver (MPEG2Receiver **ppReceiver, DataPushProc dataPushProcHandler, void *pDataPushProcRefCon=nil, MPEG2ReceiverMessageProc messageProcHandler=nil, void *pMessageProcRefCon=nil, StringLogger *stringLogger=nil, IOFireWireLibNubRef nubInterface=nil, unsigned int cyclesPerSegment=kCyclesPerReceiveSegment, unsigned int numSegments=kNumReceiveSegments, bool doIRMAllocations=false) |
|
IOReturn | AVS::DestroyMPEG2Receiver (MPEG2Receiver *pReceiver) |
|
static IOReturn | dfd_tspacket_handler_thunk (UInt32 tsPacketCount, UInt32 **ppBuf, void *callback_data) |
|
static void | dfd_update_device_list (void *dfd, io_iterator_t deviter) |
|
static void | dfd_streaming_log_message (char *msg) |
|
void * | dfd_controller_thunk (void *callback_data) |
|
void | dfd_stream_msg (UInt32 msg, UInt32 param1, UInt32 param2, void *callback_data) |
|
int | dfd_no_data_notification (void *callback_data) |
|
void | dfd_update_device_list_item (DarwinFirewireDevice *dev, uint64_t guid, void *item) |
|
int | dfd_tspacket_handler (uint tsPacketCount, uint32_t **ppBuf, void *callback_data) |
|
|
static constexpr std::chrono::milliseconds | kNoDataTimeout { 300ms } |
|
static constexpr std::chrono::milliseconds | kResetTimeout { 1500ms } |
|
◆ LOC
◆ kAnyAvailableIsochChannel
#define kAnyAvailableIsochChannel 0xFFFFFFFF |
◆ dfd_tspacket_handler_thunk()
static IOReturn dfd_tspacket_handler_thunk |
( |
UInt32 |
tsPacketCount, |
|
|
UInt32 ** |
ppBuf, |
|
|
void * |
callback_data |
|
) |
| |
|
static |
◆ dfd_update_device_list()
static void dfd_update_device_list |
( |
void * |
dfd, |
|
|
io_iterator_t |
deviter |
|
) |
| |
|
static |
◆ dfd_streaming_log_message()
static void dfd_streaming_log_message |
( |
char * |
msg | ) |
|
|
static |
◆ dfd_controller_thunk()
void * dfd_controller_thunk |
( |
void * |
callback_data | ) |
|
◆ dfd_stream_msg()
void dfd_stream_msg |
( |
UInt32 |
msg, |
|
|
UInt32 |
param1, |
|
|
UInt32 |
param2, |
|
|
void * |
callback_data |
|
) |
| |
◆ dfd_no_data_notification()
int dfd_no_data_notification |
( |
void * |
callback_data | ) |
|
◆ dfd_update_device_list_item()
◆ dfd_tspacket_handler()
int dfd_tspacket_handler |
( |
uint |
tsPacketCount, |
|
|
uint32_t ** |
ppBuf, |
|
|
void * |
callback_data |
|
) |
| |
◆ kNoDataTimeout
constexpr std::chrono::milliseconds kNoDataTimeout { 300ms } |
|
staticconstexpr |
◆ kResetTimeout
constexpr std::chrono::milliseconds kResetTimeout { 1500ms } |
|
staticconstexpr |