Developers: breaking changes forthcoming in 1.30.0

Announcements about PS3 Media Server

Developers: breaking changes forthcoming in 1.30.0

Postby chocolateboy » Sun Jun 19, 2011 9:52 pm

There will be several backwards-incompatible internal changes in the forthcoming 1.30.0 release. These don't affect users directly, but may affect developers of plugins or unofficial builds.

Firstly, the PmsConfiguration method getProfileDir has been renamed getProfileDirectory. This may impact custom builds.

Secondly, the Player.launchTranscode method now has a new signature:

Code: Select all
    public ProcessWrapper launchTranscode(
        String filename,
        DLNAResource dlna,
        DLNAMediaInfo media,
        OutputParams params
    ) throws IOException;


Note the new DLNAResource argument. The latter change enables a new plugin hook: finalizeTranscoderArgs.

Finally (this is a non-breaking change unless you were relying on a bug), plugin developers might want to take another look at the StartStopListener interface, as it should now more closely reflect the expected behaviour.
chocolateboy
Project Member
 
Posts: 2577
Joined: Wed Sep 16, 2009 10:05 am

Re: Developers: breaking changes forthcoming in 1.30.0

Postby taconaut » Tue Jun 28, 2011 1:32 pm

In r695, some of the classes responsible for populating the tabs in the GUI were renamed to make them easier to identify. This may affect packagers of custom builds, but shouldn't affect plugin developers:

  • The old AboutTab has been deleted (it was unused)
  • LinksTab has been renamed to AboutTab
  • NetworkTab has been renamed to GeneralTab
  • FoldTab has been renamed to NavigationShareTab
  • TrTab2 has been renamed to TranscodingTab
If you always wanted to have your most recent videos at the top of the folder in the ps3 or wished you could group all videos with the same genre in one folder, have a look at pms-mlx
taconaut
Project Member
 
Posts: 1059
Joined: Sat Apr 11, 2009 12:29 am
Location: Switzerland

Re: Developers: breaking changes forthcoming in 1.30.0

Postby tomeko » Tue Jun 28, 2011 3:10 pm

Removed method: isAnalyzeFolderAllFiles (required for all renderers that don't support shagrath's hack)
replaced with method method isDLNATreeHack (introduced with r691) that checks whether renderer supports creating DLNA tree on the fly with fake <TotalMatches> value (enabled with CreateDLNATreeFaster renderer file option). With this, browsing is faster, but it violates upnp specification and is not supported with some renderers.
tomeko
Project Member
 
Posts: 154
Joined: Sat Jun 06, 2009 11:02 am

Re: Developers: breaking changes forthcoming in 1.30.0

Postby taconaut » Tue Jul 05, 2011 7:37 am

In r706 and r707 the root folder management has been completely reworked. RootFolder now manages itself and doesn't need the manageRoot() method in PMS.java any more.

Changes:
  • 'private RootFolder getRootFolder(RendererConfiguration renderer, boolean initialize)' has been removed as the initialization is being managed by RootFolder itself. 'public RootFolder getRootFolder(RendererConfiguration renderer)' remains.
  • Removed method 'public void manageRoot(RendererConfiguration renderer)'. Initialization is being done in discoverChildren in RootFolder
  • Removed public methods addiPhotoFolder, addiTunesFolder, addVideoSettingssFolder, addMediaLibraryFolder (and private methods required by these methods). They now live in RootFolder as e.g. getiPhotoFolder. The only method still called add... is addWebFolder because the logic would have had to be adapted to make a getWebFolder out of it.
  • Removed is/setMediaLibraryAdded methods in RendererConfiguration because they aren't needed anymore.
  • Removed 'public RootFolder getRootFolder(boolean initialize)' in RendererConfiguration because initialization is managed by RootFolder now
  • Removed methods 'public void browse(File startFolders[])' and 'public void browse(List<MapFileConfiguration> startVirtualFolders)' in RootFolder because they are now managed internally
  • Removed method 'public boolean refreshChildren()' in RootFolder. Populate the children in discoverChildren()
If you always wanted to have your most recent videos at the top of the folder in the ps3 or wished you could group all videos with the same genre in one folder, have a look at pms-mlx
taconaut
Project Member
 
Posts: 1059
Joined: Sat Apr 11, 2009 12:29 am
Location: Switzerland

Re: Developers: breaking changes forthcoming in 1.30.0

Postby taconaut » Tue Jul 05, 2011 7:48 am

In r711 all main methods beside the one contained in PMS.java have been deleted.
For test cases like e.g. Version.java the test case should be implemented in a separate class.

Affected classes are: RendererConfiguration.java, AviDemuxerInputStream.java, WindowsNamedPipe.java, WinUtils.java, Proxy.java, ProxyServer.java, Version.java, DTSAudioOutputStream.java, H264AnnexBInputStream.java, PCMAudioOutputStream.java
If you always wanted to have your most recent videos at the top of the folder in the ps3 or wished you could group all videos with the same genre in one folder, have a look at pms-mlx
taconaut
Project Member
 
Posts: 1059
Joined: Sat Apr 11, 2009 12:29 am
Location: Switzerland


Return to Announcements

Who is online

Users browsing this forum: No registered users and 11 guests