| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- #include "encoder_video_factory.h"
- #include "encoder_video.h"
- #include "encoder_video_nvenc.h"
- #include "encoder_video_x264.h"
- #include "error_define.h"
- #include "log_helper.h"
- namespace am {
- int encoder_video_new(ENCODER_VIDEO_ID id, encoder_video **encoder)
- {
- int err = AE_NO;
- switch (id) {
- case EID_VIDEO_X264:
- *encoder = (encoder_video *) new encoder_video_x264();
- break;
- case EID_VIDEO_NVENC:
- *encoder = (encoder_video *) new encoder_video_nvenc();
- break;
- default:
- err = AE_UNSUPPORT;
- break;
- }
- return err;
- }
- void encoder_video_destroy(encoder_video **encoder)
- {
- if (*encoder != nullptr) {
- (*encoder)->stop();
- delete *encoder;
- }
- *encoder = nullptr;
- }
- } // namespace am
|