nx_cloud_storage_sdk  1.0
Cloud Storage SDK
stream_writer.h
1 #pragma once
2 
3 #include <nx/sdk/cloud_storage/i_codec_info.h>
4 #include <nx/sdk/cloud_storage/i_stream_writer.h>
5 #include <nx/sdk/helpers/ref_countable.h>
6 #include <nx/sdk/i_list.h>
7 #include <nx/sdk/result.h>
8 
9 #include "data_manager.h"
10 
12 
13 class StreamWriter: public nx::sdk::RefCountable<nx::sdk::cloud_storage::IStreamWriter>
14 {
15 public:
17  const std::shared_ptr<DataManager>& dataManager,
18  const std::string& deviceId,
19  int streamIndex,
20  int64_t startTimeMs,
22  const char* opaqueMetadata);
23 
24  virtual nx::sdk::ErrorCode putData(const nx::sdk::cloud_storage::IMediaDataPacket* packet) override;
25  virtual nx::sdk::ErrorCode close(int64_t durationMs) override;
26  virtual int size() const override;
27 
28 private:
29  std::shared_ptr<DataManager> m_dataManager;
30  std::unique_ptr<WritableMediaFile> m_mediaFile;
31 };
32 
33 } // namespace nx::vms_server_plugins::cloud_storage::stub
virtual nx::sdk::ErrorCode close(int64_t durationMs) override
Definition: stream_writer.cpp:40
Definition: i_media_data_packet.h:16
Definition: data_manager.cpp:33
virtual nx::sdk::ErrorCode putData(const nx::sdk::cloud_storage::IMediaDataPacket *packet) override
Definition: stream_writer.cpp:26
virtual int size() const override
Definition: stream_writer.cpp:54
Definition: ref_countable.h:83