bilibili / bilibili/ijkplayer

#今天ijk支持边播边缓存了吗#

Open
#3,936 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
33.2k
Forks
8.2k
PR merge metrics
No merged PRs in 30d

Description

想做边播边缓存和修改seek逻辑(seek后不重新缓冲)
目前找到了些方法,不知道哪是切入点
边播边缓存的:
// ff_ffplay.c
static void video_image_display2(FFPlayer *ffp);
static int read_thread(void *arg);
// ijkio.c
static int ijkio_read(URLContext *h, unsigned char *buf, int size);
// ijkiocache.c
static int ijkio_cache_read(IjkURLContext *h, unsigned char *buf, int size);

seek的:
// ff_ffplay.c
static void stream_seek(VideoState *is, int64_t pos, int64_t rel, int seek_by_bytes);
int ffp_seek_to_l(FFPlayer *ffp, long msec);
// ijkio.c
static int64_t ijkio_seek(URLContext *h, int64_t offset, int whence);
// ijkplayer.c
int ijkmp_seek_to_l(IjkMediaPlayer *mp, long msec);

我该修改哪个方法呢? 请求大佬指教,谢谢了啊

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the listed entry points in ff_ffplay.c, ijkio.c, ijkiocache.c, and ijkplayer.c to understand the existing read, cache, and seek flow. Reproduce the current playback and seek behavior before choosing a modification point. Done means streaming can cache while playing and seeking does not trigger unnecessary rebuffering.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
audio-video-rtc
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.