From 9111e70794105f984df5b66bba81adc769bd5001 Mon Sep 17 00:00:00 2001 From: deva Date: Thu, 28 Jul 2005 15:31:18 +0000 Subject: *** empty log message *** --- src/decoder.cc | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'src/decoder.cc') diff --git a/src/decoder.cc b/src/decoder.cc index 26351fe..0655f61 100644 --- a/src/decoder.cc +++ b/src/decoder.cc @@ -34,12 +34,8 @@ */ #include #ifdef USE_GUI -/* -#include -#include -#include -#include -*/ + +#include "frame_stream.h" #include "miav_config.h" @@ -89,6 +85,8 @@ Decoder::~Decoder() void Decoder::decode() { + frame_stream *stream; + bool local_shoot; int local_freeze; bool local_record = false; @@ -96,14 +94,22 @@ void Decoder::decode() bool skip_frames = config->readInt("player_skip_frames"); - dv1394 dv_stream = dv1394(info); // Use default port and channel. + dv1394 dv1394_stream = dv1394(info); // Use default port and channel. + dvfile dvfile_stream = dvfile(info); + if(dv_stream.connect()) { + // Use the dv1394 stream for input. + stream = &dv1394_stream; + } else { + // Use the fallback dv filereader for input. + stream = &dvfile_stream; + } while(*running) { uint8_t *ptr; SDL_Event user_event; // Read a dvframe - ptr = dv_stream.readFrame(); + ptr = stream->readFrame(); if(!ptr) return; // No frame read. (Due to firewire error) old_record = local_record; -- cgit v1.2.3