decoder/wavpack: fixed WVC URI
Pass the current URI to wavpack_open_wvc().
This commit is contained in:
parent
2acad9fe1e
commit
acb0ff1ea8
@ -463,7 +463,8 @@ wavpack_input_init(struct wavpack_input *isp, struct decoder *decoder,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static struct input_stream *
|
static struct input_stream *
|
||||||
wavpack_open_wvc(struct decoder *decoder, struct wavpack_input *wpi)
|
wavpack_open_wvc(struct decoder *decoder, const char *uri,
|
||||||
|
struct wavpack_input *wpi)
|
||||||
{
|
{
|
||||||
struct input_stream *is_wvc;
|
struct input_stream *is_wvc;
|
||||||
char *wvc_url = NULL;
|
char *wvc_url = NULL;
|
||||||
@ -474,10 +475,10 @@ wavpack_open_wvc(struct decoder *decoder, struct wavpack_input *wpi)
|
|||||||
* As we use dc->utf8url, this function will be bad for
|
* As we use dc->utf8url, this function will be bad for
|
||||||
* single files. utf8url is not absolute file path :/
|
* single files. utf8url is not absolute file path :/
|
||||||
*/
|
*/
|
||||||
if (wpi->is->uri == NULL)
|
if (uri == NULL)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
wvc_url = g_strconcat(wpi->is->uri, "c", NULL);
|
wvc_url = g_strconcat(uri, "c", NULL);
|
||||||
is_wvc = input_stream_open(wvc_url, NULL);
|
is_wvc = input_stream_open(wvc_url, NULL);
|
||||||
g_free(wvc_url);
|
g_free(wvc_url);
|
||||||
|
|
||||||
@ -515,7 +516,7 @@ wavpack_streamdecode(struct decoder * decoder, struct input_stream *is)
|
|||||||
struct wavpack_input isp, isp_wvc;
|
struct wavpack_input isp, isp_wvc;
|
||||||
bool can_seek = is->seekable;
|
bool can_seek = is->seekable;
|
||||||
|
|
||||||
is_wvc = wavpack_open_wvc(decoder, &isp_wvc);
|
is_wvc = wavpack_open_wvc(decoder, is->uri, &isp_wvc);
|
||||||
if (is_wvc != NULL) {
|
if (is_wvc != NULL) {
|
||||||
open_flags |= OPEN_WVC;
|
open_flags |= OPEN_WVC;
|
||||||
can_seek &= is_wvc->seekable;
|
can_seek &= is_wvc->seekable;
|
||||||
|
Loading…
Reference in New Issue
Block a user