diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-01-11 19:20:51 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-01-11 19:20:51 +0000 |
| commit | ef0aa27c671f9c34b9aad79015bcc50cb10c0fc5 (patch) | |
| tree | 7216d311005a1469f079006cbb17f734a21a91ea /src/lib/dcp_video_frame.cc | |
| parent | d0babb26ab341026fe227de810ed30c6c9f65cf2 (diff) | |
Encoded data must be copied; disambiguate second lock in encoder_thread.
Diffstat (limited to 'src/lib/dcp_video_frame.cc')
| -rw-r--r-- | src/lib/dcp_video_frame.cc | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/src/lib/dcp_video_frame.cc b/src/lib/dcp_video_frame.cc index 8b70b0aa4..f84fa8a3f 100644 --- a/src/lib/dcp_video_frame.cc +++ b/src/lib/dcp_video_frame.cc @@ -59,6 +59,7 @@ using std::string; using std::stringstream; using std::ofstream; +using std::cout; using boost::shared_ptr; /** Construct a DCP video frame. @@ -371,6 +372,18 @@ DCPVideoFrame::encode_remotely (ServerDescription const * serv) return e; } +EncodedData::EncodedData (int s) + : _data (new uint8_t[s]) + , _size (s) +{ + +} + +EncodedData::~EncodedData () +{ + delete[] _data; +} + /** Write this data to a J2K file. * @param opt Options. * @param frame Frame index. @@ -413,14 +426,15 @@ EncodedData::send (shared_ptr<Socket> socket) socket->write (_data, _size, 30); } -/** @param s Size of data in bytes */ -RemotelyEncodedData::RemotelyEncodedData (int s) - : EncodedData (new uint8_t[s], s) +LocallyEncodedData::LocallyEncodedData (uint8_t* d, int s) + : EncodedData (s) { - + memcpy (_data, d, s); } -RemotelyEncodedData::~RemotelyEncodedData () +/** @param s Size of data in bytes */ +RemotelyEncodedData::RemotelyEncodedData (int s) + : EncodedData (s) { - delete[] _data; + } |
