mirror of
https://github.com/clementine-player/Clementine
synced 2025-02-02 20:36:44 +01:00
Fix gst_buffer_unref assertion in chromaprinter
This commit is contained in:
parent
d079f00cfe
commit
8094957e09
@ -204,12 +204,16 @@ GstFlowReturn Chromaprinter::NewBufferCallback(GstAppSink* app_sink,
|
||||
Chromaprinter* me = reinterpret_cast<Chromaprinter*>(self);
|
||||
|
||||
GstSample* sample = gst_app_sink_pull_sample(app_sink);
|
||||
if (!sample) return GST_FLOW_ERROR;
|
||||
GstBuffer* buffer = gst_sample_get_buffer(sample);
|
||||
GstMapInfo map;
|
||||
gst_buffer_map(buffer, &map, GST_MAP_READ);
|
||||
me->buffer_.write(reinterpret_cast<const char*>(map.data), map.size);
|
||||
gst_buffer_unmap(buffer, &map);
|
||||
gst_buffer_unref(buffer);
|
||||
if (buffer) {
|
||||
GstMapInfo map;
|
||||
if (gst_buffer_map(buffer, &map, GST_MAP_READ)) {
|
||||
me->buffer_.write(reinterpret_cast<const char*>(map.data), map.size);
|
||||
gst_buffer_unmap(buffer, &map);
|
||||
}
|
||||
}
|
||||
gst_sample_unref(sample);
|
||||
|
||||
return GST_FLOW_OK;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user