mirror of
https://github.com/clementine-player/Clementine
synced 2025-02-01 11:56:45 +01:00
Add 'Range' field to HTTP header when playing GrooveShark streaming URL
This commit is contained in:
parent
bc3f56ae0e
commit
d380c2e49d
@ -645,6 +645,17 @@ void GstEnginePipeline::SourceSetupCallback(GstURIDecodeBin* bin, GParamSpec *ps
|
|||||||
// here, when this callback is called.
|
// here, when this callback is called.
|
||||||
g_object_set(element, "device", instance->source_device().toLocal8Bit().constData(), NULL);
|
g_object_set(element, "device", instance->source_device().toLocal8Bit().constData(), NULL);
|
||||||
}
|
}
|
||||||
|
if (element &&
|
||||||
|
g_object_class_find_property(G_OBJECT_GET_CLASS(element), "extra-headers") &&
|
||||||
|
instance->url().host().contains("grooveshark")) {
|
||||||
|
// GrooveShark streaming servers will answer with a 400 error 'Bad request'
|
||||||
|
// if we don't specify 'Range' field in HTTP header.
|
||||||
|
// Maybe it could be usefull in some other cases, but for now, I prefer to
|
||||||
|
// keep this grooveshark specific.
|
||||||
|
GstStructure* headers;
|
||||||
|
headers = gst_structure_new("extra-headers", "Range", G_TYPE_STRING, "bytes=0-", NULL);
|
||||||
|
g_object_set(element, "extra-headers", headers, NULL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GstEnginePipeline::TransitionToNext() {
|
void GstEnginePipeline::TransitionToNext() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user