if (_frames_written == 0) {
/* This is our first frame; set up the writer */
- _j2k_parser.FillPictureDescriptor (_picture_descriptor);
- _picture_descriptor.EditRate = ASDCP::Rational (_asset->edit_rate(), 1);
+ _state->j2k_parser.FillPictureDescriptor (_state->picture_descriptor);
+ _state->picture_descriptor.EditRate = ASDCP::Rational (_asset->edit_rate(), 1);
- MXFAsset::fill_writer_info (&_writer_info, _asset->uuid());
+ MXFAsset::fill_writer_info (&_state->writer_info, _asset->uuid());
- if (ASDCP_FAILURE (_state->mxf_writer.OpenWrite (_asset->path().c_str(), _state->writer_info, _state->picture_descriptor))) {
- if (ASDCP_FAILURE (_mxf_writer.OpenWrite (_asset->path().string().c_str(), _writer_info, _picture_descriptor))) {
++ if (ASDCP_FAILURE (_state->mxf_writer.OpenWrite (_asset->path().string().c_str(), _state->writer_info, _state->picture_descriptor))) {
throw MXFFileError ("could not open MXF file for writing", _asset->path().string());
}
}
, _frame_buffer_offset (0)
{
/* Derived from ASDCP::Wav::SimpleWaveHeader::FillADesc */
- _audio_desc.EditRate = ASDCP::Rational (_asset->edit_rate(), 1);
- _audio_desc.AudioSamplingRate = ASDCP::Rational (_asset->sampling_rate(), 1);
- _audio_desc.Locked = 0;
- _audio_desc.ChannelCount = _asset->channels ();
- _audio_desc.QuantizationBits = 24;
- _audio_desc.BlockAlign = 3 * _asset->channels();
- _audio_desc.AvgBps = _asset->sampling_rate() * _audio_desc.BlockAlign;
- _audio_desc.LinkedTrackID = 0;
- _audio_desc.ChannelFormat = ASDCP::PCM::CF_NONE;
+ _state->audio_desc.EditRate = ASDCP::Rational (_asset->edit_rate(), 1);
+ _state->audio_desc.AudioSamplingRate = ASDCP::Rational (_asset->sampling_rate(), 1);
+ _state->audio_desc.Locked = 0;
+ _state->audio_desc.ChannelCount = _asset->channels ();
+ _state->audio_desc.QuantizationBits = 24;
+ _state->audio_desc.BlockAlign = 3 * _asset->channels();
+ _state->audio_desc.AvgBps = _asset->sampling_rate() * _state->audio_desc.BlockAlign;
+ _state->audio_desc.LinkedTrackID = 0;
+ _state->audio_desc.ChannelFormat = ASDCP::PCM::CF_NONE;
- _frame_buffer.Capacity (ASDCP::PCM::CalcFrameBufferSize (_audio_desc));
- _frame_buffer.Size (ASDCP::PCM::CalcFrameBufferSize (_audio_desc));
- memset (_frame_buffer.Data(), 0, _frame_buffer.Capacity());
+ _state->frame_buffer.Capacity (ASDCP::PCM::CalcFrameBufferSize (_state->audio_desc));
+ _state->frame_buffer.Size (ASDCP::PCM::CalcFrameBufferSize (_state->audio_desc));
+ memset (_state->frame_buffer.Data(), 0, _state->frame_buffer.Capacity());
- MXFAsset::fill_writer_info (&_writer_info, _asset->uuid ());
+ MXFAsset::fill_writer_info (&_state->writer_info, _asset->uuid ());
- if (ASDCP_FAILURE (_state->mxf_writer.OpenWrite (_asset->path().c_str(), _state->writer_info, _state->audio_desc))) {
- if (ASDCP_FAILURE (_mxf_writer.OpenWrite (_asset->path().string().c_str(), _writer_info, _audio_desc))) {
++ if (ASDCP_FAILURE (_state->mxf_writer.OpenWrite (_asset->path().string().c_str(), _state->writer_info, _state->audio_desc))) {
throw FileError ("could not open audio MXF for writing", _asset->path().string());
}
}