comparison avcodec.c @ 1059:890b9fb44e84 libavcodec

* still unfinished code for Options * demo code - awating more comments
author kabi
date Mon, 10 Feb 2003 09:40:23 +0000
parents c01c98206ee6
children 1e39f273ecd6
comparison
equal deleted inserted replaced
1058:3c3da6edc9a1 1059:890b9fb44e84
48 } 48 }
49 49
50 return NULL; 50 return NULL;
51 } 51 }
52 52
53 static private_handle_t* create_handle() 53 static private_handle_t* create_handle(void)
54 { 54 {
55 private_handle_t* t = malloc(sizeof(private_handle_t)); 55 private_handle_t* t = av_malloc(sizeof(private_handle_t));
56 if (!t) 56 if (!t)
57 return NULL; 57 return NULL;
58 memset(t, 0, sizeof(*t)); 58 memset(t, 0, sizeof(*t));
59 59
60 // register and fill 60 // register and fill
80 { 80 {
81 if (handle->avcodec) 81 if (handle->avcodec)
82 { 82 {
83 avcodec_close(&handle->avcontext); 83 avcodec_close(&handle->avcontext);
84 } 84 }
85 free(handle); 85 av_free(handle);
86 86
87 // count referencies 87 // count referencies
88 } 88 }
89 } 89 }
90 90
94 switch (cmd) 94 switch (cmd)
95 { 95 {
96 case AVC_OPEN_BY_NAME: 96 case AVC_OPEN_BY_NAME:
97 { 97 {
98 // pin char* codec name 98 // pin char* codec name
99 private_handle_t* handle = create_handle(); 99 private_handle_t* h = create_handle();
100 (private_handle_t**)pout = handle; 100 (private_handle_t**)pout = h;
101 if (!handle) 101 if (!h)
102 return -ENOMEM; 102 return -ENOMEM;
103 if (!handle->avcodec) 103 if (!h->avcodec)
104 { 104 {
105 destroy_handle(handle); 105 destroy_handle(h);
106 (private_handle_t**)pout = NULL; 106 (private_handle_t**)pout = NULL;
107 return -1;// better error 107 return -1;// better error
108 } 108 }
109 return 0; 109 return 0;
110 } 110 }
111 case AVC_OPEN_BY_CODEC_ID: 111 case AVC_OPEN_BY_CODEC_ID:
112 { 112 {
113 // pin uint32_t codec fourcc 113 // pin uint32_t codec fourcc
114 private_handle_t* handle = create_handle(); 114 private_handle_t* h = create_handle();
115 (private_handle_t**)pout = handle; 115 (private_handle_t**)pout = h;
116 if (!handle) 116 if (!h)
117 return -ENOMEM; 117 return -ENOMEM;
118 118
119 if (!handle->avcodec) 119 if (!h->avcodec)
120 { 120 {
121 destroy_handle(handle); 121 destroy_handle(h);
122 (private_handle_t**)pout = NULL; 122 (private_handle_t**)pout = NULL;
123 return -1;// better error 123 return -1;// better error
124 } 124 }
125 return 0; 125 return 0;
126 } 126 }
127 case AVC_OPEN_BY_FOURCC: 127 case AVC_OPEN_BY_FOURCC:
128 { 128 {
129 // pin uint32_t codec fourcc 129 // pin uint32_t codec fourcc
130 private_handle_t* handle = create_handle(); 130 private_handle_t* h = create_handle();
131 (private_handle_t**)pout = handle; 131 (private_handle_t**)pout = h;
132 if (!handle) 132 if (!h)
133 return -ENOMEM; 133 return -ENOMEM;
134 handle->avcodec = avcodec_find_by_fcc((uint32_t) pin); 134 h->avcodec = avcodec_find_by_fcc((uint32_t) pin);
135 if (!handle->avcodec) 135 if (!h->avcodec)
136 { 136 {
137 destroy_handle(handle); 137 destroy_handle(h);
138 (private_handle_t**)pout = NULL; 138 (private_handle_t**)pout = NULL;
139 return -1;// better error 139 return -1;// better error
140 } 140 }
141 return 0; 141 return 0;
142 } 142 }