summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/plugins/mpegplayer/disk_buf.c8
-rw-r--r--apps/plugins/mpegplayer/disk_buf.h15
-rw-r--r--apps/plugins/mpegplayer/mpeg_parser.c10
3 files changed, 20 insertions, 13 deletions
diff --git a/apps/plugins/mpegplayer/disk_buf.c b/apps/plugins/mpegplayer/disk_buf.c
index 39563b7041..2e40bb7ce9 100644
--- a/apps/plugins/mpegplayer/disk_buf.c
+++ b/apps/plugins/mpegplayer/disk_buf.c
@@ -610,8 +610,8 @@ static ssize_t disk_buf_probe(off_t start, size_t length, void **p)
610 610
611/* Attempt to get a pointer to size bytes on the buffer. Returns real amount of 611/* Attempt to get a pointer to size bytes on the buffer. Returns real amount of
612 * data available as well as the size of non-wrapped data after *p. */ 612 * data available as well as the size of non-wrapped data after *p. */
613ssize_t disk_buf_getbuffer(size_t size, void **pp, void **pwrap, 613ssize_t _disk_buf_getbuffer(size_t size, void **pp, void **pwrap,
614 size_t *sizewrap) 614 size_t *sizewrap)
615{ 615{
616 disk_buf_lock(); 616 disk_buf_lock();
617 617
@@ -640,8 +640,8 @@ ssize_t disk_buf_getbuffer(size_t size, void **pp, void **pwrap,
640 return size; 640 return size;
641} 641}
642 642
643ssize_t disk_buf_getbuffer_l2(struct dbuf_l2_cache *l2, 643ssize_t _disk_buf_getbuffer_l2(struct dbuf_l2_cache *l2,
644 size_t size, void **pp) 644 size_t size, void **pp)
645{ 645{
646 off_t offs; 646 off_t offs;
647 off_t l2_addr; 647 off_t l2_addr;
diff --git a/apps/plugins/mpegplayer/disk_buf.h b/apps/plugins/mpegplayer/disk_buf.h
index a5a10cfe69..ec02e64c86 100644
--- a/apps/plugins/mpegplayer/disk_buf.h
+++ b/apps/plugins/mpegplayer/disk_buf.h
@@ -116,10 +116,17 @@ static inline int disk_buf_status(void)
116 116
117int disk_buf_open(const char *filename); 117int disk_buf_open(const char *filename);
118void disk_buf_close(void); 118void disk_buf_close(void);
119ssize_t disk_buf_getbuffer(size_t size, void **pp, void **pwrap, 119ssize_t _disk_buf_getbuffer(size_t size, void **pp, void **pwrap,
120 size_t *sizewrap); 120 size_t *sizewrap);
121ssize_t disk_buf_getbuffer_l2(struct dbuf_l2_cache *l2, 121#define disk_buf_getbuffer(size, pp, pwrap, sizewrap) \
122 size_t size, void **pp); 122 _disk_buf_getbuffer((size), PUN_PTR(void **, (pp)), \
123 PUN_PTR(void **, (pwrap)), (sizewrap))
124
125ssize_t _disk_buf_getbuffer_l2(struct dbuf_l2_cache *l2,
126 size_t size, void **pp);
127#define disk_buf_getbuffer_l2(l2, size, pp) \
128 _disk_buf_getbuffer_l2((l2), (size), PUN_PTR(void **, (pp)))
129
123ssize_t disk_buf_read(void *buffer, size_t size); 130ssize_t disk_buf_read(void *buffer, size_t size);
124ssize_t disk_buf_lseek(off_t offset, int whence); 131ssize_t disk_buf_lseek(off_t offset, int whence);
125 132
diff --git a/apps/plugins/mpegplayer/mpeg_parser.c b/apps/plugins/mpegplayer/mpeg_parser.c
index f21292abd5..06fa01c2e9 100644
--- a/apps/plugins/mpegplayer/mpeg_parser.c
+++ b/apps/plugins/mpegplayer/mpeg_parser.c
@@ -99,7 +99,7 @@ uint8_t * mpeg_parser_scan_start_code(struct stream_scan *sk, uint32_t code)
99 { 99 {
100 uint8_t *p; 100 uint8_t *p;
101 off_t pos = disk_buf_lseek(sk->pos, SEEK_SET); 101 off_t pos = disk_buf_lseek(sk->pos, SEEK_SET);
102 ssize_t len = disk_buf_getbuffer_l2(&sk->l2, 4, (void **)&p); 102 ssize_t len = disk_buf_getbuffer_l2(&sk->l2, 4, &p);
103 103
104 if (pos < 0 || len < 4) 104 if (pos < 0 || len < 4)
105 break; 105 break;
@@ -131,7 +131,7 @@ unsigned mpeg_parser_scan_pes(struct stream_scan *sk)
131 { 131 {
132 uint8_t *p; 132 uint8_t *p;
133 off_t pos = disk_buf_lseek(sk->pos, SEEK_SET); 133 off_t pos = disk_buf_lseek(sk->pos, SEEK_SET);
134 ssize_t len = disk_buf_getbuffer_l2(&sk->l2, 4, (void **)&p); 134 ssize_t len = disk_buf_getbuffer_l2(&sk->l2, 4, &p);
135 135
136 if (pos < 0 || len < 4) 136 if (pos < 0 || len < 4)
137 break; 137 break;
@@ -192,7 +192,7 @@ uint32_t mpeg_parser_scan_pts(struct stream_scan *sk, unsigned id)
192 { 192 {
193 uint8_t *p; 193 uint8_t *p;
194 off_t pos = disk_buf_lseek(sk->pos, SEEK_SET); 194 off_t pos = disk_buf_lseek(sk->pos, SEEK_SET);
195 ssize_t len = disk_buf_getbuffer_l2(&sk->l2, 30, (void **)&p); 195 ssize_t len = disk_buf_getbuffer_l2(&sk->l2, 30, &p);
196 196
197 if (pos < 0 || len < 4) 197 if (pos < 0 || len < 4)
198 break; 198 break;
@@ -742,7 +742,7 @@ static int parse_demux(struct stream *str, enum stream_parse_mode type)
742 str->hdr.pos = disk_buf_lseek(str->hdr.pos, SEEK_SET); 742 str->hdr.pos = disk_buf_lseek(str->hdr.pos, SEEK_SET);
743 743
744 if (str->hdr.pos < 0 || str->hdr.pos >= str->hdr.limit || 744 if (str->hdr.pos < 0 || str->hdr.pos >= str->hdr.limit ||
745 disk_buf_getbuffer(MIN_BUFAHEAD, (void **)&p, NULL, NULL) <= 0) 745 disk_buf_getbuffer(MIN_BUFAHEAD, &p, NULL, NULL) <= 0)
746 { 746 {
747 str_end_of_stream(str); 747 str_end_of_stream(str);
748 return STREAM_DATA_END; 748 return STREAM_DATA_END;
@@ -1017,7 +1017,7 @@ static int parse_elementary(struct stream *str, enum stream_parse_mode type)
1017 1017
1018 case STREAM_PM_RANDOM_ACCESS: 1018 case STREAM_PM_RANDOM_ACCESS:
1019 str->hdr.pos = disk_buf_lseek(str->hdr.pos, SEEK_SET); 1019 str->hdr.pos = disk_buf_lseek(str->hdr.pos, SEEK_SET);
1020 len = disk_buf_getbuffer(DISK_BUF_PAGE_SIZE, (void **)&p, NULL, NULL); 1020 len = disk_buf_getbuffer(DISK_BUF_PAGE_SIZE, &p, NULL, NULL);
1021 1021
1022 if (len <= 0 || str->hdr.pos < 0 || str->hdr.pos >= str->hdr.limit) 1022 if (len <= 0 || str->hdr.pos < 0 || str->hdr.pos >= str->hdr.limit)
1023 { 1023 {