diff --git a/audio/spotify/src/spotifyaudiosrc/imp.rs b/audio/spotify/src/spotifyaudiosrc/imp.rs index 87ed8877..9c102cec 100644 --- a/audio/spotify/src/spotifyaudiosrc/imp.rs +++ b/audio/spotify/src/spotifyaudiosrc/imp.rs @@ -82,7 +82,7 @@ pub struct SpotifyAudioSrc { impl ObjectSubclass for SpotifyAudioSrc { const NAME: &'static str = "GstSpotifyAudioSrc"; type Type = super::SpotifyAudioSrc; - type ParentType = gst_base::BaseSrc; + type ParentType = gst_base::PushSrc; type Interfaces = (gst::URIHandler,); } @@ -258,12 +258,12 @@ impl BaseSrcImpl for SpotifyAudioSrc { Ok(()) } +} +impl PushSrcImpl for SpotifyAudioSrc { fn create( &self, - _offset: u64, _buffer: Option<&mut gst::BufferRef>, - _length: u32, ) -> Result { let state = self.state.lock().unwrap(); let state = state.as_ref().unwrap(); diff --git a/audio/spotify/src/spotifyaudiosrc/mod.rs b/audio/spotify/src/spotifyaudiosrc/mod.rs index 4cb41423..a33988f3 100644 --- a/audio/spotify/src/spotifyaudiosrc/mod.rs +++ b/audio/spotify/src/spotifyaudiosrc/mod.rs @@ -12,7 +12,7 @@ use gst::prelude::*; mod imp; glib::wrapper! { - pub struct SpotifyAudioSrc(ObjectSubclass) @extends gst_base::BaseSrc, gst::Element, gst::Object, @implements gst::URIHandler; + pub struct SpotifyAudioSrc(ObjectSubclass) @extends gst_base::PushSrc, gst_base::BaseSrc, gst::Element, gst::Object, @implements gst::URIHandler; } pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> { diff --git a/docs/plugins/gst_plugins_cache.json b/docs/plugins/gst_plugins_cache.json index 02504ea6..6691983d 100644 --- a/docs/plugins/gst_plugins_cache.json +++ b/docs/plugins/gst_plugins_cache.json @@ -5910,6 +5910,7 @@ "description": "Spotify source", "hierarchy": [ "GstSpotifyAudioSrc", + "GstPushSrc", "GstBaseSrc", "GstElement", "GstObject",