Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for VFS addons #8966

Merged
merged 4 commits into from
Jan 10, 2017
Merged

Add support for VFS addons #8966

merged 4 commits into from
Jan 10, 2017

Conversation

notspiff
Copy link
Contributor

This is my VFS add-on work. I send the PR to see if there is interest.

Some remaining stuff;

  • get the datetime things into kodiplatform (see commit disabling it for now).
  • clean up the callbacks. note; we have to do it like this due to threading stuff - we cannot just use the normal add-on callbacks.

see the repo list at https://github.com/notspiff for some example add-ons. No guarantee many of them are in working condition, i know vfs.sacd is (in terms of the iface), as well as vfs.rar, but there's some stability issues in the latter. also quite a few are now probably void since you have removed the code from mainline.

@@ -412,6 +413,8 @@ void CAddon::BuildLibName(const cp_extension_t *extension)
case ADDON_SERVICE:
case ADDON_REPOSITORY:
case ADDON_CONTEXT_ITEM:
case ADDON_AUDIODECODER:

This comment was marked as spam.

This comment was marked as spam.

@FernetMenta
Copy link
Contributor

IMO an excellent idea. Once this is integrated we can start cleaning up vfs, i.e. PVR is the only client of LiveTV interface and can make use of this extension point.

#include "utils/URIUtils.h"
#include "addons/VFSEntry.h"

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

@garbear
Copy link
Member

garbear commented May 20, 2016

@notspiff this PR was looking pretty good, what's the status? I'm happy to help if you have any TODOs left

@notspiff
Copy link
Contributor Author

i haven't touched it. there were some comments, feel free to address those. i will try to find some time..

@notspiff
Copy link
Contributor Author

rebased and updated. very little tested, in particular i'm not sure how well BinaryAddonCache manages the lifetime of add-ons.

example addon: https://github.com/notspiff/vfs.sacd

this is for SuperAudioCD isos. that is the reason for the last commit.

the hack commit highlights a nasty issue with current code design, which is triggered by adding this code.

@garbear
Copy link
Member

garbear commented Aug 19, 2016

thanks for the rebase. it'll probably be a few months before I pull this into my retroplayer branch, i'm focusing on getting input near flawless for the v17 release.

@notspiff
Copy link
Contributor Author

Rather it goes to master. Retro carries enough /random as-is.

  1. aug. 2016 17:17 skrev "Garrett Brown" notifications@github.com:

thanks for the rebase. it'll probably be a few months before I pull this
into my retroplayer branch, i'm focusing on getting input near flawless for
the v17 release.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#8966 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFktYAkOZ8tuETGA3rkSlEZzukAbUwQ0ks5qhckigaJpZM4HNt6Q
.

@garbear
Copy link
Member

garbear commented Aug 19, 2016

Rather RetroPlayer goes to master ;)

@akva2
Copy link
Contributor

akva2 commented Aug 25, 2016

modernized https://github.com/notspiff/vfs.rar

added a commit that removes the internal rar support for this reason. the add-on will not work if core carries UnrarXLib.

@akva2
Copy link
Contributor

akva2 commented Aug 27, 2016

modernized https://github.com/notspiff/vfs.sftp

added a commit that removes the internal sftp support.

@bam80
Copy link
Contributor

bam80 commented Oct 25, 2016

What is left to merge it?

@akva2
Copy link
Contributor

akva2 commented Oct 25, 2016

(notspiff under his day-work intentity); from my POV:

  1. not being in a feature freeze
  2. merging the awesome work of @AlwinEsch which cleans up the whole binary add-on concept in kodi, see Add addon instance handling AlwinEsch/kodi#28
  3. rewriting the API to use the new constructs and adding error handling and such (largely "automated" by using the new API constructs).
  4. choosing a single add-on to focus on, preferably something that isn't new. like vfs.sftp. then remove remove the internal and have things real-world tested for a while. if all goes well, move more shit to add-ons / start adding new stuff like vfs.sacd

@notspiff notspiff force-pushed the vfs_addons_draft branch 2 times, most recently from 0015b39 to dc17ac4 Compare November 14, 2016 11:46
@itouch5000
Copy link

Any news on this topic? Will this change be part of Kodi 18?

VFS can be hit very early (InitDirectoriesXXX()) and with
vfs add-ons (and audio decoders) providing VFS entries,
we get in a squeeze.

this is not meant for inclusion as-is just highlights the issue.
@notspiff
Copy link
Contributor Author

notspiff commented Jan 9, 2017

rebased.

@Paxxi Paxxi added Component: Binary add-ons Type: Feature non-breaking change which adds functionality Type: Improvement non-breaking change which improves existing functionality v18 Leia labels Jan 9, 2017
@wsnipex
Copy link
Member

wsnipex commented Jan 10, 2017

jenkins build this with addons please

@notspiff
Copy link
Contributor Author

ish, sorry for bad timing. i was asked to remove the removal commits.

@Paxxi
Copy link
Member

Paxxi commented Jan 10, 2017

jenkins build this with addons please

@Paxxi
Copy link
Member

Paxxi commented Jan 10, 2017

no relevant failures in jenkins.

@Paxxi Paxxi merged commit f9a3f81 into xbmc:master Jan 10, 2017
@@ -72,6 +72,7 @@ class CServiceManager
CPlatform& GetPlatform();

PLAYLIST::CPlayListPlayer& GetPlaylistPlayer();
int init_level = 0;

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Binary add-ons Type: Feature non-breaking change which adds functionality Type: Improvement non-breaking change which improves existing functionality v18 Leia
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet