[media] move to all-c allocation #1421

pull/1427/head
nick black 3 years ago
parent c1ee44b1b7
commit fceb0b5182

@ -269,19 +269,23 @@ int ffmpeg_resize(ncvisual* nc, int rows, int cols) {
}
auto ffmpeg_details_init(void) -> ncvisual_details* {
auto deets = new ncvisual_details{};
deets->stream_index = -1;
deets->sub_stream_index = -1;
if((deets->frame = av_frame_alloc()) == nullptr){
delete deets;
return nullptr;
auto deets = static_cast<ncvisual_details*>(malloc(sizeof(ncvisual_details)));
if(deets){
memset(deets, 0, sizeof(*deets));
deets->stream_index = -1;
deets->sub_stream_index = -1;
if((deets->frame = av_frame_alloc()) == nullptr){
free(deets);
return nullptr;
}
}
return deets;
}
auto ffmpeg_create() -> ncvisual* {
ncvisual* nc = static_cast<ncvisual*>(malloc(sizeof(*nc)));
auto nc = static_cast<ncvisual*>(malloc(sizeof(ncvisual)));
if(nc){
memset(nc, 0, sizeof(*nc));
if((nc->details = ffmpeg_details_init()) == nullptr){
free(nc);
return nullptr;
@ -591,7 +595,7 @@ auto ffmpeg_details_destroy(ncvisual_details* deets) -> void {
av_packet_free(&deets->packet);
avformat_close_input(&deets->fmtctx);
avsubtitle_free(&deets->subtitle);
delete deets;
free(deets);
}
static const ncvisual_implementation ffmpeg_impl = {

@ -16,12 +16,9 @@ typedef struct ncvisual_details {
} ncvisual_details;
auto oiio_details_init(void) -> ncvisual_details* {
auto deets = new ncvisual_details{};
auto deets = static_cast<ncvisual_details*>(malloc(sizeof(ncvisual_details)));
if(deets){
deets->image = nullptr;
deets->frame = nullptr;
deets->ibuf = nullptr;
deets->framenum = 0;
memset(deets, 0, sizeof(*deets));
}
return deets;
}
@ -34,8 +31,9 @@ auto oiio_details_destroy(ncvisual_details* deets) -> void {
}
auto oiio_create() -> ncvisual* {
ncvisual* nc = static_cast<ncvisual*>(malloc(sizeof(*nc)));
auto nc = static_cast<ncvisual*>(malloc(sizeof(*nc)));
if(nc){
memset(nc, 0, sizeof(*nc));
if((nc->details = oiio_details_init()) == nullptr){
free(nc);
return nullptr;

Loading…
Cancel
Save