Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(190)

Unified Diff: webrtc/modules/video_coding/video_coding_impl.h

Issue 1853813002: Add support for writing raw encoder output to .ivf files. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/video_coding/video_coding_impl.h
diff --git a/webrtc/modules/video_coding/video_coding_impl.h b/webrtc/modules/video_coding/video_coding_impl.h
index 581eb4ecdeebcbe97a49b11d1ef6009f9731805c..667598382e220db371fffbce67b8c97e38c957e9 100644
--- a/webrtc/modules/video_coding/video_coding_impl.h
+++ b/webrtc/modules/video_coding/video_coding_impl.h
@@ -16,6 +16,7 @@
#include <memory>
#include <vector>
+#include "webrtc/frame_callback.h"
#include "webrtc/base/onetimeevent.h"
#include "webrtc/base/thread_annotations.h"
#include "webrtc/base/thread_checker.h"
@@ -29,7 +30,6 @@
#include "webrtc/modules/video_coding/timing.h"
#include "webrtc/modules/video_coding/utility/qp_parser.h"
#include "webrtc/system_wrappers/include/clock.h"
-#include "webrtc/system_wrappers/include/critical_section_wrapper.h"
namespace webrtc {
@@ -103,12 +103,12 @@ class VideoSender {
Clock* const clock_;
- std::unique_ptr<CriticalSectionWrapper> process_crit_sect_;
+ rtc::CriticalSection process_crit_;
rtc::CriticalSection encoder_crit_;
VCMGenericEncoder* _encoder;
VCMEncodedFrameCallback _encodedFrameCallback GUARDED_BY(encoder_crit_);
media_optimization::MediaOptimization _mediaOpt;
- VCMSendStatisticsCallback* _sendStatsCallback GUARDED_BY(process_crit_sect_);
+ VCMSendStatisticsCallback* _sendStatsCallback GUARDED_BY(process_crit_);
VCMCodecDataBase _codecDataBase GUARDED_BY(encoder_crit_);
bool frame_dropper_enabled_ GUARDED_BY(encoder_crit_);
VCMProcessTimer _sendStatsTimer;
@@ -132,6 +132,7 @@ class VideoReceiver {
VideoReceiver(Clock* clock,
EventFactory* event_factory,
+ EncodedImageCallback* pre_decode_image_callback,
NackSender* nack_sender = nullptr,
KeyFrameRequestSender* keyframe_request_sender = nullptr);
~VideoReceiver();
@@ -179,42 +180,36 @@ class VideoReceiver {
int64_t TimeUntilNextProcess();
void Process();
- void RegisterPreDecodeImageCallback(EncodedImageCallback* observer);
void TriggerDecoderShutdown();
protected:
int32_t Decode(const webrtc::VCMEncodedFrame& frame)
- EXCLUSIVE_LOCKS_REQUIRED(_receiveCritSect);
+ EXCLUSIVE_LOCKS_REQUIRED(receive_crit_);
int32_t RequestKeyFrame();
int32_t RequestSliceLossIndication(const uint64_t pictureID) const;
private:
Clock* const clock_;
- std::unique_ptr<CriticalSectionWrapper> process_crit_sect_;
- CriticalSectionWrapper* _receiveCritSect;
+ rtc::CriticalSection process_crit_;
+ rtc::CriticalSection receive_crit_;
VCMTiming _timing;
VCMReceiver _receiver;
VCMDecodedFrameCallback _decodedFrameCallback;
- VCMFrameTypeCallback* _frameTypeCallback GUARDED_BY(process_crit_sect_);
- VCMReceiveStatisticsCallback* _receiveStatsCallback
- GUARDED_BY(process_crit_sect_);
- VCMDecoderTimingCallback* _decoderTimingCallback
- GUARDED_BY(process_crit_sect_);
- VCMPacketRequestCallback* _packetRequestCallback
- GUARDED_BY(process_crit_sect_);
+ VCMFrameTypeCallback* _frameTypeCallback GUARDED_BY(process_crit_);
+ VCMReceiveStatisticsCallback* _receiveStatsCallback GUARDED_BY(process_crit_);
+ VCMDecoderTimingCallback* _decoderTimingCallback GUARDED_BY(process_crit_);
+ VCMPacketRequestCallback* _packetRequestCallback GUARDED_BY(process_crit_);
VCMRenderBufferSizeCallback* render_buffer_callback_
- GUARDED_BY(process_crit_sect_);
+ GUARDED_BY(process_crit_);
VCMGenericDecoder* _decoder;
-#ifdef DEBUG_DECODER_BIT_STREAM
- FILE* _bitStreamBeforeDecoder;
-#endif
+
VCMFrameBuffer _frameFromFile;
- bool _scheduleKeyRequest GUARDED_BY(process_crit_sect_);
- bool drop_frames_until_keyframe_ GUARDED_BY(process_crit_sect_);
- size_t max_nack_list_size_ GUARDED_BY(process_crit_sect_);
+ bool _scheduleKeyRequest GUARDED_BY(process_crit_);
+ bool drop_frames_until_keyframe_ GUARDED_BY(process_crit_);
+ size_t max_nack_list_size_ GUARDED_BY(process_crit_);
- VCMCodecDataBase _codecDataBase GUARDED_BY(_receiveCritSect);
- EncodedImageCallback* pre_decode_image_callback_ GUARDED_BY(_receiveCritSect);
+ VCMCodecDataBase _codecDataBase GUARDED_BY(receive_crit_);
+ EncodedImageCallback* pre_decode_image_callback_;
VCMProcessTimer _receiveStatsTimer;
VCMProcessTimer _retransmissionTimer;
« no previous file with comments | « webrtc/modules/video_coding/utility/video_coding_utility.gyp ('k') | webrtc/modules/video_coding/video_coding_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698