git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36196 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jérôme Duval
2010-04-12 20:13:40 +00:00
parent 8f2d34d9e0
commit ac8b5878d7
3 changed files with 41 additions and 40 deletions
@@ -5,14 +5,14 @@
* Distributed under the terms of the MIT License.
*
*/
#ifndef __FIREWIRE_CARD_H
#define __FIREWIRE_CARD_H
#include <SupportDefs.h>
class FireWireCard
{
class FireWireCard {
public:
enum fmt_type {
FMT_MPEGTS = 0,
@@ -33,7 +33,7 @@ private:
ssize_t DvRead(void** buffer);
status_t DvExtract(void* dest, void** src, ssize_t* sizeUsed);
ssize_t MpegtsRead(void** buffer);
status_t MpegtsExtract(void* dest, void** src,
status_t MpegtsExtract(void* dest, void** src,
ssize_t* sizeUsed);
status_t fInitStatus;
@@ -47,4 +47,3 @@ private:
};
#endif
@@ -4,36 +4,37 @@
* Copyright (c) 2008, JiSheng Zhang ([email protected])
* Distributed under the terms of the MIT License.
*
* Based on DVB media addon
* Based on DVB media addon
* Copyright (c) 2004-2007 Marcus Overhagen <[email protected]>
*/
#ifndef _FIREWIRE_DV_ADDON_H_
#define _FIREWIRE_DV_ADDON_H_
#include <MediaAddOn.h>
#include <ObjectList.h>
class FireWireCard;
struct device_info;
class FireWireDVAddOn : public BMediaAddOn
{
class FireWireDVAddOn : public BMediaAddOn {
public:
FireWireDVAddOn(image_id id);
~FireWireDVAddOn();
status_t InitCheck(const char** out_failure_text);
int32 CountFlavors();
status_t GetFlavorAt(int32 n, const flavor_info** out_info);
BMediaNode* InstantiateNodeFor(const flavor_info* info,
BMediaNode* InstantiateNodeFor(const flavor_info* info,
BMessage* config, status_t* out_error);
bool WantsAutoStart();
status_t AutoStart(int index, BMediaNode** outNode,
status_t AutoStart(int index, BMediaNode** outNode,
int32* outInternalID, bool* outHasMore);
protected:
@@ -4,7 +4,7 @@
* Copyright (c) 2008, JiSheng Zhang ([email protected])
* Distributed under the terms of the MIT License.
*
* Based on DVB media addon
* Based on DVB media addon
* Copyright (c) 2004-2007 Marcus Overhagen <[email protected]>
*/
@@ -21,17 +21,19 @@
#include <media/MediaNode.h>
#include <support/Locker.h>
class FireWireCard;
class BParameterGroup;
class FireWireDVNode : public virtual BBufferProducer,
class FireWireDVNode : public virtual BBufferProducer,
public virtual BControllable, public virtual BMediaEventLooper {
public:
FireWireDVNode(BMediaAddOn *addon,
const char *name, int32 internal_id,
FireWireDVNode(BMediaAddOn *addon,
const char *name, int32 internal_id,
FireWireCard *card);
virtual ~FireWireDVNode();
virtual status_t InitCheck() const { return fInitStatus; }
/* BMediaNode */
@@ -39,7 +41,7 @@ public:
virtual BMediaAddOn *AddOn(int32 * internal_id) const;
virtual status_t HandleMessage(int32 message, const void *data,
size_t size);
protected:
protected:
virtual void Preroll();
virtual void SetTimeSource(BTimeSource * time_source);
virtual void SetRunMode(run_mode mode);
@@ -48,21 +50,21 @@ protected:
protected:
virtual void NodeRegistered();
virtual void HandleEvent(const media_timed_event *event,
bigtime_t lateness,
bigtime_t lateness,
bool realTimeEvent = false);
/* BBufferProducer */
/* BBufferProducer */
protected:
virtual status_t FormatSuggestionRequested(media_type type,
virtual status_t FormatSuggestionRequested(media_type type,
int32 quality, media_format* format);
virtual status_t FormatProposal(const media_source &source,
media_format* format);
virtual status_t FormatChangeRequested(
const media_source &source,
const media_destination &destination,
media_format* io_format,
media_format* io_format,
int32* _deprecated_);
virtual status_t GetNextOutput(int32* cookie,
virtual status_t GetNextOutput(int32* cookie,
media_output* out_output);
virtual status_t DisposeOutputCookie(int32 cookie);
virtual status_t SetBufferGroup(const media_source& for_source,
@@ -76,30 +78,30 @@ protected:
virtual status_t PrepareToConnect(const media_source& what,
const media_destination& where,
media_format* format,
media_source* out_source,
media_source* out_source,
char* out_name);
virtual void Connect(status_t error,
virtual void Connect(status_t error,
const media_source& source,
const media_destination& destination,
const media_format& format,
const media_format& format,
char* io_name);
virtual void Disconnect(const media_source& what,
const media_destination& where);
virtual void LateNoticeReceived(const media_source& what,
bigtime_t how_much,
bigtime_t how_much,
bigtime_t performance_time);
virtual void EnableOutput(const media_source& what,
virtual void EnableOutput(const media_source& what,
bool enabled, int32* _deprecated_);
virtual void AdditionalBufferRequested(
const media_source& source,
media_buffer_id prev_buffer,
media_buffer_id prev_buffer,
bigtime_t prev_time,
const media_seek_tag* prev_tag);
/* BControllable */
/* BControllable */
protected:
virtual status_t GetParameterValue(int32 id,
bigtime_t* last_change, void* value,
virtual status_t GetParameterValue(int32 id,
bigtime_t* last_change, void* value,
size_t* size);
virtual void SetParameterValue(int32 id, bigtime_t when,
const void* value, size_t size);
@@ -111,16 +113,16 @@ private:
void HandleTimeWarp(bigtime_t performance_time);
void HandleSeek(bigtime_t performance_time);
BParameterWeb* CreateParameterWeb();
void SetAboutInfo(BParameterGroup *about);
void RefreshParameterWeb();
status_t StartCapture();
status_t StopCapture();
status_t StartCaptureThreads();
status_t StopCaptureThreads();
status_t StopCaptureThreads();
static int32 _card_reader_thread_(void *arg);
@@ -129,7 +131,7 @@ private:
status_t fInitStatus;
int32 fInternalID;
BMediaAddOn* fAddOn;
bool fOutputEnabledEncVideo;
bool fOutputEnabledEncVideo;
media_output fOutputEncVideo;
media_format fDefaultFormatEncVideo;
FireWireCard* fCard;
@@ -144,4 +146,3 @@ private:
};
#endif // __FIREWIRE_DV_NODE_H