summaryrefslogtreecommitdiff
path: root/plparse/totem-pl-parser-pla.c
Commit message (Collapse)AuthorAgeFilesLines
* plparser: Make totem_pl_parser_write_buffer() cancellableBastien Nocera2020-02-271-2/+2
|
* plparser: Pass GCancellable when calling g_file_replace()Bastien Nocera2020-02-271-1/+1
|
* plparser: Make save implementation accept GCancellableBastien Nocera2020-02-271-0/+1
|
* pla: Fix shadowed URI variableBastien Nocera2017-01-241-4/+5
| | | | Spotted by Alex Larsson in continuous.
* pla: playlist-ended expects a URI, not a titleBastien Nocera2013-03-201-11/+11
|
* lib: Remove unneeded includesBastien Nocera2011-11-041-1/+0
|
* lib: Fix compile-time warningsBastien Nocera2011-09-181-5/+5
| | | | We don't use the URI, so don't use a macro that uses it.
* Remove GTK+ dependency.Carlos Garnacho2010-01-081-20/+30
| | | | | | | TotemPlPlaylist has been added to replace GtkTreeModel usage in the write API, internal playlist implementations now use this to get songs/titles in order to write the playlist. Older write API has been replaced by totem_pl_parser_save().
* Fix retval of the PLA parserBastien Nocera2009-09-211-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=595471
* Remove unused num_entries variable from PLA writerBastien Nocera2009-09-211-2/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=595471
* Add asynchronous parsing support to totem-pl-parserPhilip Withnall2009-06-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-06-17 Philip Withnall <philip@tecnocode.co.uk> * docs/reference/totem-pl-parser-sections.txt: * plparse/plparser.symbols: * plparse/totem-pl-parser-builtins.c (totem_pl_parser_result_get_type): * plparse/totem-pl-parser-lines.c (totem_pl_parser_add_ram), (totem_pl_parser_add_m3u), (totem_pl_parser_add_ra): * plparse/totem-pl-parser-lines.h: * plparse/totem-pl-parser-media.c (totem_pl_parser_add_iso), (totem_pl_parser_add_cue), (totem_pl_parser_add_directory), (totem_pl_parser_add_block): * plparse/totem-pl-parser-media.h: * plparse/totem-pl-parser-misc.c (totem_pl_parser_add_gvp), (totem_pl_parser_add_desktop): * plparse/totem-pl-parser-misc.h: * plparse/totem-pl-parser-pla.c (totem_pl_parser_add_pla): * plparse/totem-pl-parser-pla.h: * plparse/totem-pl-parser-pls.c (totem_pl_parser_add_pls_with_contents), (totem_pl_parser_add_pls): * plparse/totem-pl-parser-pls.h: * plparse/totem-pl-parser-podcast.c (totem_pl_parser_add_rss), (totem_pl_parser_add_itpc), (totem_pl_parser_add_zune), (totem_pl_parser_add_atom), (totem_pl_parser_add_xml_feed), (totem_pl_parser_add_itms), (totem_pl_parser_add_opml): * plparse/totem-pl-parser-podcast.h: * plparse/totem-pl-parser-private.h: * plparse/totem-pl-parser-qt.c (totem_pl_parser_add_quicktime_rtsptext), (totem_pl_parser_add_quicktime_metalink), (totem_pl_parser_add_quicktime): * plparse/totem-pl-parser-qt.h: * plparse/totem-pl-parser-smil.c (totem_pl_parser_add_smil): * plparse/totem-pl-parser-smil.h: * plparse/totem-pl-parser-wm.c (totem_pl_parser_add_asf_reference_parser), (totem_pl_parser_add_asf_parser), (parse_asx_entry), (parse_asx_entryref), (parse_asx_entries), (totem_pl_parser_add_asx), (totem_pl_parser_add_asf): * plparse/totem-pl-parser-wm.h: * plparse/totem-pl-parser-xspf.c (totem_pl_parser_add_xspf): * plparse/totem-pl-parser-xspf.h: * plparse/totem-pl-parser.c (totem_pl_parser_class_init), (emit_playlist_ended_signal), (totem_pl_parser_playlist_end), (totem_pl_parser_is_debugging_enabled), (totem_pl_parser_init), (totem_pl_parser_finalize), (emit_entry_parsed_signal), (totem_pl_parser_add_uri_valist), (totem_pl_parser_scheme_is_ignored), (totem_pl_parser_mimetype_is_ignored), (totem_pl_parser_parse_internal), (parse_async_data_free), (parse_thread), (totem_pl_parser_parse_with_base_async), (totem_pl_parser_parse_with_base), (totem_pl_parser_parse_async), (totem_pl_parser_parse_finish), (totem_pl_parser_add_ignored_scheme), (totem_pl_parser_add_ignored_mimetype): * plparse/totem-pl-parser.h: Add asynchronous playlist parsing functions, totem_pl_parser_parse_async, *_parse_with_base_async and totem_pl_parser_parse_finish. This includes making TotemPlParser threadsafe, and ensuring it emits all its signals in the main thread. It also includes refactoring of recursive parsing so that global options are copied and preserved throughout the parse operation, and can't be changed mid-operation from another thread. (Closes: #561444)
* The first 16 bits of the playlist entry record are actually the one-basedJonathan Matthew2009-02-081-13/+26
| | | | | | | | | | | | | | | | 2009-02-08 Jonathan Matthew <jonathan@d14n.org> * plparse/totem-pl-parser-pla.c: (totem_pl_parser_write_pla), (totem_pl_parser_add_pla): The first 16 bits of the playlist entry record are actually the one-based offset of the first character of the filename. Set this correctly (rather than always to 0x1A) so the playlists look right when viewed on the device. (Closes: #570484) Also update my email address and fix a couple of debug output statements. svn path=/trunk/; revision=293
* Cleanup usage of URL/URI/MRL in the playlist parser. Note that thisPhilip Withnall2008-12-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-12-05 Philip Withnall <philip@tecnocode.co.uk> * docs/reference/totem-pl-parser-sections.txt: * plparse/disc-test.c (main): * plparse/test-parser.c (test_relative_real), (entry_metadata_foreach), (test_parsing_real), (test_data_get_data), (main): * plparse/totem-disc.c (totem_cd_detect_type_from_dir), (totem_cd_detect_type_with_url): * plparse/totem-disc.h: * plparse/totem-pl-parser-lines.c (totem_pl_parser_uri_to_dos), (totem_pl_parser_write_m3u), (totem_pl_parser_parse_ram_uri), (totem_pl_parser_add_ram), (totem_pl_parser_add_m3u): * plparse/totem-pl-parser-media.c (totem_pl_parser_add_iso), (totem_pl_parser_add_cue), (totem_pl_parser_add_directory), (totem_pl_parser_add_block): * plparse/totem-pl-parser-misc.c (totem_pl_parser_add_gvp): * plparse/totem-pl-parser-pla.c (totem_pl_parser_add_pla): * plparse/totem-pl-parser-pls.c (totem_pl_parser_write_pls), (totem_pl_parser_add_pls_with_contents): * plparse/totem-pl-parser-podcast.c (parse_rss_item), (parse_rss_items), (totem_pl_parser_add_rss), (totem_pl_parser_add_itpc), (totem_pl_parser_add_zune), (parse_atom_entry), (parse_atom_entries), (totem_pl_parser_add_atom), (totem_pl_parser_get_feed_uri), (totem_pl_parser_get_itms_uri), (totem_pl_parser_add_itms), (totem_pl_parser_is_itms_feed), (parse_opml_outline), (parse_opml_head_body), (totem_pl_parser_add_opml): * plparse/totem-pl-parser-private.h: * plparse/totem-pl-parser-qt.c (totem_pl_parser_add_quicktime_rtsptext), (totem_pl_parser_add_quicktime_metalink), (totem_pl_parser_add_quicktime): * plparse/totem-pl-parser-smil.c (parse_smil_entry): * plparse/totem-pl-parser-wm.c (totem_pl_parser_add_asf_reference_parser), (totem_pl_parser_add_asf_parser), (parse_asx_entry), (parse_asx_entryref), (parse_asx_entries), (totem_pl_parser_add_asx): * plparse/totem-pl-parser-xspf.c (totem_pl_parser_write_xspf), (parse_xspf_track): * plparse/totem-pl-parser.c (totem_pl_parser_class_init), (my_g_file_info_get_mime_type_with_data), (totem_pl_parser_base_uri), (totem_pl_parser_num_entries), (totem_pl_parser_add_uri_valist), (totem_pl_parser_add_uri), (totem_pl_parser_add_one_uri), (totem_pl_parser_add_one_file), (totem_pl_parser_scheme_is_ignored), (totem_pl_parser_ignore), (totem_pl_parser_parse_internal), (totem_pl_parser_parse_with_base), (totem_pl_parser_parse): * plparse/totem-pl-parser.h: Cleanup usage of URL/URI/MRL in the playlist parser. Note that this doesn't break API. (Closes: #536107) svn path=/trunk/; revision=263
* Always write the #EXTM3U line at the start of M3U playlists, Spotted by D.Bastien Nocera2008-09-101-1/+1
| | | | | | | | | | | | | | | | 2008-09-10 Bastien Nocera <hadess@hadess.net> * plparse/totem-pl-parser-lines.c (totem_pl_parser_write_m3u): * plparse/totem-pl-parser-pla.c (totem_pl_parser_write_pla): * plparse/totem-pl-parser-pls.c (totem_pl_parser_write_pls): * plparse/totem-pl-parser-xspf.c (totem_pl_parser_write_xspf): Always write the #EXTM3U line at the start of M3U playlists, Spotted by D. Grady <fehknt@gmail.com> (Closes: #551610) Don't unref streams that totem_pl_parser_write_* will unref on error, and make sure the streams are unref'ed and not just closed svn path=/trunk/; revision=200
* Remove unneeded include, fix warningBastien Nocera2008-05-081-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 2008-05-08 Bastien Nocera <hadess@hadess.net> * plparse/totem-pl-parser-pla.c (totem_pl_parser_add_pla): Remove unneeded include, fix warning * plparse/totem-pl-parser-private.h: * plparse/totem-pl-parser.c (totem_pl_parser_relative), (totem_pl_parser_ignore_from_mimetype): Update totem_pl_parser_relative() to take in a GFile as the output target, and simplify Remove old code in totem_pl_parser_ignore_from_mimetype() * plparse/test-parser.c (test_relative_real): Fix usage of totem_pl_parser_relative() * plparse/totem-pl-parser-lines.c (totem_pl_parser_url_to_dos), (totem_pl_parser_write_m3u): * plparse/totem-pl-parser-pls.c (totem_pl_parser_write_pls): * plparse/totem-pl-parser-xspf.c (totem_pl_parser_write_xspf): Use totem_pl_parser_relative() where needed, and fix usage svn path=/trunk/; revision=117
* Port playlist writers to GIO, removed totem_pl_parser_resolve_url andBastien Nocera2008-05-071-33/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-05-07 Bastien Nocera <hadess@hadess.net> * plparse/plparser.symbols: * plparse/test-parser.c (main): * plparse/totem-pl-parser-lines.c (totem_pl_parser_url_to_dos), (totem_pl_parser_write_m3u), (totem_pl_parser_add_m3u): * plparse/totem-pl-parser-lines.h: * plparse/totem-pl-parser-pla.c (totem_pl_parser_write_pla), (totem_pl_parser_add_pla): * plparse/totem-pl-parser-pla.h: * plparse/totem-pl-parser-pls.c (totem_pl_parser_write_pls), (totem_pl_parser_add_pls_with_contents), (totem_pl_parser_add_pls): * plparse/totem-pl-parser-pls.h: * plparse/totem-pl-parser-podcast.c (totem_pl_parser_is_itms_feed): * plparse/totem-pl-parser-private.h: * plparse/totem-pl-parser-smil.c (parse_smil_entry), (parse_smil_entries), (totem_pl_parser_add_smil_with_doc): * plparse/totem-pl-parser-wm.c (parse_asx_entry), (parse_asx_entryref), (parse_asx_entries), (totem_pl_parser_add_asx): * plparse/totem-pl-parser-xspf.c (totem_pl_parser_parse_xml_file), (totem_pl_parser_write_xspf), (parse_xspf_track), (parse_xspf_trackList), (parse_xspf_entries), (totem_pl_parser_add_xspf): * plparse/totem-pl-parser-xspf.h: * plparse/totem-pl-parser.c (totem_pl_parser_write_with_title), (totem_pl_parser_add_url_valist): * plparse/totem-pl-parser.h: Port playlist writers to GIO, removed totem_pl_parser_resolve_url and totem_pl_parser_relative, as those should be replaced by their GIO equivalents, and had completely broken semantics Doesn't compile, file a bug and I'll kick your arse svn path=/trunk/; revision=114
* Update FSF addressBastien Nocera2008-04-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-04-24 Bastien Nocera <hadess@hadess.net> * plparse/bswap.h: * plparse/disc-test.c: * plparse/totem-disc.c: * plparse/totem-disc.h: * plparse/totem-pl-parser-features.h.in: * plparse/totem-pl-parser-lines.c: * plparse/totem-pl-parser-lines.h: * plparse/totem-pl-parser-media.c: * plparse/totem-pl-parser-media.h: * plparse/totem-pl-parser-mini.h: * plparse/totem-pl-parser-misc.c: * plparse/totem-pl-parser-misc.h: * plparse/totem-pl-parser-pla.c: * plparse/totem-pl-parser-pla.h: * plparse/totem-pl-parser-pls.c: * plparse/totem-pl-parser-pls.h: * plparse/totem-pl-parser-podcast.c: * plparse/totem-pl-parser-podcast.h: * plparse/totem-pl-parser-private.h: * plparse/totem-pl-parser-qt.c: * plparse/totem-pl-parser-qt.h: * plparse/totem-pl-parser-smil.c: * plparse/totem-pl-parser-smil.h: * plparse/totem-pl-parser-wm.c: * plparse/totem-pl-parser-wm.h: * plparse/totem-pl-parser-xspf.c: * plparse/totem-pl-parser-xspf.h: * plparse/totem-pl-parser.c: * plparse/totem-pl-parser.h: Update FSF address svn path=/trunk/; revision=101
* First pass at porting to GIO. Completely broken, please bear with me.Bastien Nocera2008-03-171-6/+10
| | | | | | | | | | 2008-03-17 Bastien Nocera <hadess@hadess.net> * *: First pass at porting to GIO. Completely broken, please bear with me. svn path=/trunk/; revision=81
* Add internal BSD version of memmemBastien Nocera2007-12-191-2/+0
| | | | | | | | | | | | | | | | | | | | | 2007-12-19 Bastien Nocera <hadess@hadess.net> * configure.in: * lib/Makefile.am: * lib/memmem.c: * lib/totem_internal.h: Add internal BSD version of memmem * plparse/totem-pl-parser-podcast.c: (totem_pl_parser_is_rss), (totem_pl_parser_is_atom), (totem_pl_parser_is_opml): * plparse/totem-pl-parser-wm.c: (totem_pl_parser_is_asx), (totem_pl_parser_is_asf): * plparse/totem-pl-parser-qt.c: (totem_pl_parser_is_quicktime): Use memmem instead of copying the buffers before checking them * plparse/*.c: Remove conditional config.h include svn path=/trunk/; revision=22
* Moved from Totem, export mini plparser for use in the browser pluginBastien Nocera2007-12-031-0/+251
2007-12-03 Bastien Nocera <hadess@hadess.net> * *: Moved from Totem, export mini plparser for use in the browser plugin (Closes: #462153) svn path=/trunk/; revision=2