*
*/
+#ifdef HAVE_DV
+
#include "asset.h"
#include "bcsignals.h"
#include "byteorder.h"
#include "file.h"
#include "filedv.h"
#include "guicast.h"
+#include "interlacemodes.h"
#include "language.h"
#include "mutex.h"
#include "mwindow.inc"
asset->width = decoder->width;
asset->height = decoder->height;
+
+ if(dv_is_progressive(decoder) > 0)
+ asset->interlace_mode = BC_ILACE_MODE_NOTINTERLACED;
+ else
+ asset->interlace_mode = BC_ILACE_MODE_BOTTOM_FIRST;
+
isPAL = dv_is_PAL(decoder);
output_size = (isPAL ? DV1394_PAL_FRAME_SIZE : DV1394_NTSC_FRAME_SIZE);
video_position_lock->unlock();
-TRACE("FileDV::write_samples 210")
-
- int16_t **tmp_buf = new int16_t*[asset->channels];
- for(int a = 0; a < asset->channels; a++)
- tmp_buf[a] = new int16_t[asset->sample_rate];
-
TRACE("FileDV::write_samples 220")
for(int i = 0; i < nFrames; i++)
if(samples > audio_sample_buffer_maxsize - 1 - audio_sample_buffer_start)
{
+TRACE("FileDV::write_samples 210")
+ int16_t *tmp_buf[asset->channels];
+ for(int a = 0; a < asset->channels; a++)
+ tmp_buf[a] = new int16_t[asset->sample_rate];
+
TRACE("FileDV::write_samples 240")
int copy_size = audio_sample_buffer_maxsize - audio_sample_buffer_start - 1;
{
eprintf(_("ERROR: unable to encode audio frame %d\n"), audio_frames_written);
}
+TRACE("FileDV::write_samples 280")
+
+ for(int a = 0; a < asset->channels; a++)
+ delete[] tmp_buf[a];
}
else
{
if(audio_sample_buffer_start >= audio_sample_buffer_maxsize)
audio_sample_buffer_start -= audio_sample_buffer_maxsize;
}
-
-TRACE("FileDV::write_samples 280")
-
- for(int a = 0; a < asset->channels; a++)
- delete[] tmp_buf[a];
- delete[] tmp_buf;
-
TRACE("FileDV::write_samples 290")
-
UNTRACE
return 0;
set_done(0);
return 1;
}
+
+#endif