提交 310a684a 编写于 作者: R raymondzheng 提交者: Xinzheng Zhang

ijkplayer modify point size to int64

上级 71663361
......@@ -192,7 +192,7 @@ static int64_t ijkio_cache_file_overrang(IjkURLContext *h, int64_t *cur_pos, int
IjkIOCacheContext *c= h->priv_data;
IjkCacheTreeInfo *tree_info = NULL;
int64_t free_space = 0;
int min_root_id = 0;
int64_t min_root_id = 0;
int is_first_pos = 1;
if (1 == ijk_map_size(c->cache_info_map)) {
......@@ -209,7 +209,7 @@ static int64_t ijkio_cache_file_overrang(IjkURLContext *h, int64_t *cur_pos, int
c->cache_physical_pos = 0;
return c->cache_max_capacity;
} else {
ijk_map_remove(c->cache_info_map, c->cur_file_no);
ijk_map_remove(c->cache_info_map, (int64_t)c->cur_file_no);
}
while (1) {
......@@ -249,7 +249,7 @@ static int64_t ijkio_cache_file_overrang(IjkURLContext *h, int64_t *cur_pos, int
}
}
ijk_map_put(c->cache_info_map, c->cur_file_no, c->tree_info);
ijk_map_put(c->cache_info_map, (int64_t)c->cur_file_no, c->tree_info);
return free_space;
}
......@@ -698,13 +698,13 @@ static int ijkio_cache_open(IjkURLContext *h, const char *url, int flags, IjkAVD
c->cache_physical_pos = *c->last_physical_pos;
}
c->tree_info = ijk_map_get(c->cache_info_map, c->cur_file_no);
c->tree_info = ijk_map_get(c->cache_info_map, (int64_t)c->cur_file_no);
if (c->tree_info == NULL) {
c->tree_info = calloc(1, sizeof(IjkCacheTreeInfo));
c->tree_info->physical_init_pos = *c->last_physical_pos;
}
ijk_map_put(c->cache_info_map, c->cur_file_no, c->tree_info);
ijk_map_put(c->cache_info_map, (int64_t)c->cur_file_no, c->tree_info);
if (*c->cache_limit_file_pos <= 0)
*c->cache_limit_file_pos = c->cache_max_capacity;
......@@ -771,7 +771,7 @@ mutex_fail:
url_fail:
ijk_av_fifo_freep(&c->fifo);
if (c->tree_info)
ijk_map_put(c->cache_info_map, c->cur_file_no, c->tree_info);
ijk_map_put(c->cache_info_map, (int64_t)c->cur_file_no, c->tree_info);
return ret;
}
......
......@@ -148,7 +148,7 @@ int ijkio_manager_io_open(IjkIOManagerContext *h, const char *url, int flags, Ij
if (h->ijk_ctx_map) {
ijkio_manager_set_all_ctx_pause(h);
inner->state = IJKURL_STARTED;
ijk_map_put(h->ijk_ctx_map, (int)(intptr_t)h->cur_ffmpeg_ctx, inner);
ijk_map_put(h->ijk_ctx_map, (int64_t)(intptr_t)h->cur_ffmpeg_ctx, inner);
}
ret = inner->prot->url_open2(inner, url, flags, options);
if (ret < 0)
......@@ -163,7 +163,7 @@ fail:
ret = inner->prot->url_close(inner);
if (h->ijk_ctx_map) {
ijk_map_remove(h->ijk_ctx_map, (int)(intptr_t)h->cur_ffmpeg_ctx);
ijk_map_remove(h->ijk_ctx_map, (int64_t)(intptr_t)h->cur_ffmpeg_ctx);
}
ijk_av_freep(&inner->priv_data);
ijk_av_freep(&inner);
......@@ -176,7 +176,7 @@ int ijkio_manager_io_read(IjkIOManagerContext *h, unsigned char *buf, int size)
if (!h)
return ret;
IjkURLContext *inner = ijk_map_get(h->ijk_ctx_map, (int)(intptr_t)h->cur_ffmpeg_ctx);
IjkURLContext *inner = ijk_map_get(h->ijk_ctx_map, (int64_t)(intptr_t)h->cur_ffmpeg_ctx);
if (inner && inner->prot && inner->prot->url_read) {
if (inner->state == IJKURL_PAUSED) {
if (inner->prot->url_resume) {
......@@ -199,7 +199,7 @@ int64_t ijkio_manager_io_seek(IjkIOManagerContext *h, int64_t offset, int whence
if (!h)
return ret;
IjkURLContext *inner = ijk_map_get(h->ijk_ctx_map, (int)(intptr_t)h->cur_ffmpeg_ctx);
IjkURLContext *inner = ijk_map_get(h->ijk_ctx_map, (int64_t)(intptr_t)h->cur_ffmpeg_ctx);
if (inner && inner->prot && inner->prot->url_seek) {
if (inner->state == IJKURL_PAUSED) {
if (inner->prot->url_resume) {
......@@ -221,12 +221,12 @@ int ijkio_manager_io_close(IjkIOManagerContext *h) {
if (!h)
return ret;
IjkURLContext *inner = ijk_map_get(h->ijk_ctx_map, (int)(intptr_t)h->cur_ffmpeg_ctx);
IjkURLContext *inner = ijk_map_get(h->ijk_ctx_map, (int64_t)(intptr_t)h->cur_ffmpeg_ctx);
if (inner) {
if (inner->prot && inner->prot->url_close) {
ret = inner->prot->url_close(inner);
}
ijk_map_remove(h->ijk_ctx_map, (int)(intptr_t)h->cur_ffmpeg_ctx);
ijk_map_remove(h->ijk_ctx_map, (int64_t)(intptr_t)h->cur_ffmpeg_ctx);
ijk_av_freep(&inner);
}
......
......@@ -21,16 +21,16 @@
using namespace std;
typedef map<int, void *> IjkMap;
typedef map<int64_t, void *> IjkMap;
extern "C" void* ijk_map_create();
extern "C" void ijk_map_put(void *data, int key, void *value);
extern "C" void* ijk_map_get(void *data, int key);
extern "C" int ijk_map_remove(void *data, int key);
extern "C" void ijk_map_put(void *data, int64_t key, void *value);
extern "C" void* ijk_map_get(void *data, int64_t key);
extern "C" int ijk_map_remove(void *data, int64_t key);
extern "C" int ijk_map_size(void *data);
extern "C" int ijk_map_max_size(void *data);
extern "C" void* ijk_map_index_get(void *data, int index);
extern "C" int ijk_map_get_min_key(void *data);
extern "C" int64_t ijk_map_get_min_key(void *data);
extern "C" void ijk_map_clear(void *data);
extern "C" void ijk_map_destroy(void *data);
extern "C" void ijk_map_traversal_handle(void *data, int (*enu)(void *elem));
......@@ -40,14 +40,14 @@ void* ijk_map_create() {
return data;
}
void ijk_map_put(void *data, int key, void *value) {
void ijk_map_put(void *data, int64_t key, void *value) {
IjkMap *map_data = reinterpret_cast<IjkMap *>(data);
if (!map_data)
return;
(*map_data)[key] = value;
}
void* ijk_map_get(void *data, int key) {
void* ijk_map_get(void *data, int64_t key) {
IjkMap *map_data = reinterpret_cast<IjkMap *>(data);
if (!map_data)
return NULL;
......@@ -59,7 +59,7 @@ void* ijk_map_get(void *data, int key) {
return NULL;
}
int ijk_map_remove(void *data, int key) {
int ijk_map_remove(void *data, int64_t key) {
IjkMap *map_data = reinterpret_cast<IjkMap *>(data);
if (!map_data)
return -1;
......@@ -113,14 +113,14 @@ void ijk_map_traversal_handle(void *data, int (*enu)(void *elem)) {
}
}
int ijk_map_get_min_key(void *data) {
int64_t ijk_map_get_min_key(void *data) {
IjkMap *map_data = reinterpret_cast<IjkMap *>(data);
if (!map_data || map_data->empty())
return -1;
IjkMap::iterator it = map_data->begin();
int min_key = it->first;
int64_t min_key = it->first;
for (; it != map_data->end(); it++) {
min_key = min_key < it->first ? min_key : it->first;
......
......@@ -20,15 +20,17 @@
#ifndef IJKAVUTIL_IJKSTL_H
#define IJKAVUTIL_IJKSTL_H
#include <stdint.h>
void* ijk_map_create();
void ijk_map_put(void *data, int key, void *value);
void* ijk_map_get(void *data, int key);
int ijk_map_remove(void *data, int key);
void ijk_map_put(void *data, int64_t key, void *value);
void* ijk_map_get(void *data, int64_t key);
int ijk_map_remove(void *data, int64_t key);
int ijk_map_size(void *data);
int ijk_map_max_size(void *data);
void* ijk_map_index_get(void *data, int index);
void ijk_map_traversal_handle(void *data, int (*enu)(void *elem));
int ijk_map_get_min_key(void *data);
int64_t ijk_map_get_min_key(void *data);
void ijk_map_clear(void *data);
void ijk_map_destroy(void *data);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册