1. 10 Mar, 2014 1 commit
    • François Cartegnie's avatar
      demux: ogg: rewrite pts and pts computation (fix #9828) · ff681fc7
      François Cartegnie authored
      - Previous algorithm was unable to guess the first packet
      pts because of ogg design (some codecs/opus/vorbis have total
      sample at page granule and only granule on last packet. You
      then need to compute first packet pts backward using packets
      duration).
      So we were stuck either assuming a start at pts/pcr zero, or
      be unable to handle ogg streaming (non zero start) correctly,
      or had to always drop the 0..N-1 packets for first page.
      We need libvorbis to correcly compute those durations (code
      is far more complex than opus's one).
      - Refactorized to discard the tons of cases appended
      with each new codec.
      - lots of other fixes in many places
      ff681fc7
  2. 22 Oct, 2013 1 commit
  3. 13 Oct, 2013 2 commits
    • François Cartegnie's avatar
    • François Cartegnie's avatar
      demux: ogg: seek to keyframes (fix #3417, #9284) · d1c8352d
      François Cartegnie authored
      This patch changes the way seeking is done.
      
      Previously it was a dumb stream size based seeking, and was
      very approximative with multi-streams or non fixed bitrate
      stream.
      
      There was some code in oggseek to bisect search for frames,
      which i previously linked to opus seeking, but it was
      not reusable by all codecs as the ogg spec says granule to
      absolute time is one way only.
      
      New code does bisect search using absolute time only, and
      then tries to sync to a specific keyframe (if codec has any),
      backward or forward by checking packets.
      
      Bisect and backward searchs are disabled for non FASTSEEK inputs.
      In that case, it just behaves like any other player and syncs
      to the next keyframe.
      
      DirectShow/OggDS has also been fixed.
      d1c8352d
  4. 14 Jan, 2013 1 commit
  5. 13 Nov, 2012 1 commit
    • Jean-Baptiste Kempf's avatar
      LGPL · fef27058
      Jean-Baptiste Kempf authored
      Re-license almost all the playback modules to LGPLv2.1+ with
      authorization from their respective contributors (230+)
      
      This includes:
       - access, codec, packetizers, demux
       - audio filters, audio mixers, audio output
       - video filters, video chroma, video output
       - text renderers
       - XML parser
       - ARM NEON and SSE2 optimisations (mostly for chromas and filters)
      
      Some modules are not concerned:
       - BDA and DShow access modules because Manol Manolov is AWOL
       - Real RTSP, because it is derived from Xine
       - x264 and t140 because they are encoders only
       - DLL Loader, because it is derived from MPlayer
       - DTS packetizer, because Jon Lech Johansen is AWOL
       - Shine and WMAfixed, because they are derived from Rockbox
       - Real demuxer, as it is derived from MPlayer and Wang Bo is AWOL
       - MPC demuxer, as Yavor Doganov is AWOL
       - Tivo demuxer, because it is derived from an MPlayer fork
       - Playlist demuxer, (WPL and ZPL parts missing), because suheaven is AWOL
       - iOS audio output and video display, because author refuses the license change
       - Equalizer and compressor, because Ronald Wright is AWOL
       - Mono, Headphone and Dolby, because author refuses the license change
       - hqdn3d and yadif, because they are from MPlayer/libavfilter
       - remoteosd, because it derives from RealVNC code
       - MMX optimisations, because Ollie Lho, from SiS, is AWOL
       - Rotate, because it depends on GPL motion
      
      Nota Bene:
       - Some modules depend on GPL-only libraries, a LGPL module does not mean
         that the resulting binary module will be LGPL.
         Libraries affected would include liba52, libdvdcss, libdvdnav, libdvdread,
         faad2, libdca, libmad, libmpeg2, libpostproc, SRC, sid, zvbi and probably others.
      fef27058
  6. 24 Oct, 2010 1 commit
  7. 10 Aug, 2010 1 commit
  8. 23 Jan, 2010 1 commit
  9. 31 May, 2008 1 commit
  10. 08 May, 2008 1 commit
  11. 14 Apr, 2008 1 commit
  12. 23 Jan, 2008 1 commit
  13. 10 Sep, 2007 1 commit
  14. 20 Aug, 2007 2 commits
  15. 24 Dec, 2006 1 commit
  16. 26 Nov, 2006 1 commit
    • Clément Stenac's avatar
      A bit of headers cleanup · d3fe7f28
      Clément Stenac authored
      * Headers in include must contain the structures and prototypes needed
        by the plugins and should be named vlc_*.
      * Headers in include/vlc must contain the structures and prototypes
        needed by external libvlc clients
      
      * Moved and renamed some things in headers. 
         - Removed vlc_cpu.h, vlc_error.h (merged in vlc_common)
         - Removed snapshot.h (merged in vlc_vout.h)
         - Removed vlc_spu.h (merged in vlc_osd.h)
         - Removed intf_eject.h and vlc_interaction.h (merged in vlc_interface)
         - Moved all internal headers to src
         - Merged vlc_video.h and video_output.h and move private things to src
         - Removed vlc/intf.h, vlc/aout.h, vlc/vout.h, vlc/decoder.h and vlc/input.h
           (meta headers for use in modules, and often implying too large 
           dependencies)
      * Removed some useless dependencies
      * Unexported a bunch of functions and structures used only in src/
        (--> Still some work here)
      * Finally made input_thread_t and input_source_t (mostly) private. 
        Added input_GetItem to fetch the input_item of an input_thread
      * Cleaned up deprecated entries in vlc_symbols.h and bumped up symbol 
        prefix
      
      This commit has a 99% probability of breaking the build, 0.1% of killing
      your cat and 0% of getting you hot chicks.
      d3fe7f28
  17. 01 Oct, 2006 1 commit
  18. 24 Sep, 2006 1 commit
  19. 25 Mar, 2006 1 commit
  20. 12 Jan, 2006 1 commit
  21. 09 Jul, 2005 1 commit
  22. 08 Jul, 2005 1 commit
  23. 02 Mar, 2005 1 commit
  24. 25 Jan, 2004 1 commit
  25. 20 Feb, 2003 1 commit
    • Gildas Bazin's avatar
      · de621e39
      Gildas Bazin authored
      * src/libvlc.h, modules/audio_output: added a global --spdif config option
         to allow using the spdif output by default if available.
      * modules/misc/dummy/*: on win32 added a quiet mode that doesn't display
         a dos command box.
      * modules/control/rc/rc.c: on win32 enabled the echo mode and the
         backspace key.
      * modules/codec/mpeg_audio.c: fixed a sync bug.
      de621e39
  26. 03 Oct, 2002 1 commit
    • Gildas Bazin's avatar
      · 6dafa419
      Gildas Bazin authored
      * FAQ: updated FAQ with config file issues.
      * configure.ac.in: use -mms-bitfields instead of -fnative-struct for
         mingw32 gcc-3.x.
      * include/interface.h, modules/misc/dummy/interface.c, modules/misc/logger/logger.c,
         modules/control/rc/rc.c: Display message on Win32 explaining how to get
         back to the GUI mode.
      * src/misc/threads.c, include/vlc_threads_funcs.h: ignore the
         win9x-cv-method config option on WinNT when fast-mutex is not enabled.
      6dafa419
  27. 04 Aug, 2002 1 commit
    • Sam Hocevar's avatar
      * ./modules/*: moved plugins to the new tree. Yet untested builds include · 19ea8feb
      Sam Hocevar authored
          waveout, directx, qnx, beos, win32, macosx, and the AltiVec modules.
        * ALL: removed mention of AC3 in favour of A52.
        * ./configure.in, ./Makefile*: modules can now be built deeper than 1
          directory. As a consequence, the build is even slower (but I'm fixing
          this) and make clean doesn't work anymore.
      19ea8feb
  28. 31 Jul, 2002 1 commit
  29. 20 Jul, 2002 1 commit
  30. 15 Jul, 2002 1 commit
  31. 01 Jun, 2002 2 commits
    • Sam Hocevar's avatar
      * ./plugins/dummy/intf_dummy.c, ./plugins/chroma/i420_yuy2.c, · 1dedf688
      Sam Hocevar authored
          src/interface/intf_eject.c, src/misc/threads.c: win32 compilation fix.
        * ./plugins/directx/aout_directx.c, plugins/directx/vout_directx.c,
          ./plugins/directx/vout_events.c: the DirectX notification and event threads
          now use the vlc_thread_create / vlc_thread_ready scheme. Untested.
        * ./configure.in: added a check for inttypes.h and sys/int_types.h.
        * ./configure.in: fixed the HTTP plugin compilation under BeOS.
        * ./plugins/network/ipv6.c: reactivated IPv6 module.
      1dedf688
    • Sam Hocevar's avatar
      * ALL: the first libvlc commit. · 9e3ab283
      Sam Hocevar authored
         As for video output 4, this breaks almost everything, but I'll slowly
        do what remains to be fixed during the weekend.
      
         Changes in vlc:
         ===============
      
        * vlc is now a very small program (20 lines) which uses the libvlc API;
         it is quite simple for the moment but can be extended in the future.
      
        * interfaces, decoders, video outputs, etc. are now almost the same
         objects (yes, I know, this is C++ redone in C) and are structured in
         a tree. More about this later, but basically it allows the following
         nice features:
          - several interfaces
          - several playlists with several outputs
          - input plugins spawning helper interfaces (will be used for DVD menus)
          - anything spawning anything; I swear there are useful uses for this!
      
        * libvlc can be used in other programs; I'm currently writing a Mozilla
         plugin for my employer.
      
         Things currently broken:
         ========================
      
        * most interfaces, most ports
        * the playlist handling (almost finished rewriting this though). This means
         no file can be played from the GUI, you need to use the commandline. This
         also means it segfaults at EOF, when exiting the program, and it sometimes
         refuses to open a file when asked to.
      9e3ab283
  32. 19 May, 2002 2 commits
    • Gildas Bazin's avatar
      · 2bb2d008
      Gildas Bazin authored
      * on win32 the rc plugin opens a new console.
      2bb2d008
    • Gildas Bazin's avatar
      · b0ab1d96
      Gildas Bazin authored
      * on win32 the dummy interface plugin will open a dos command box. With
      this fix, vlc should never fail silently and leave a ghost process
      running in the background when there isn't any working GUI plugin.
      b0ab1d96
  33. 15 Feb, 2002 1 commit
    • Sam Hocevar's avatar
      · 48cbd8f3
      Sam Hocevar authored
        * ALL: got rid of *_Probe functions because most of them were duplicates
          of the real _Init or _Create functions. That's 1000 lines of code gained.
        * ./src/misc/modules.c: we try not to keep the global lock in module_Need,
          which should speed up output spawning.
        * ./plugins/dummy/input_dummy.c: fixed vlc:quit command.
        * ./plugins/gtk/gtk_playlist.c: compilation fix.
        * ./plugins/macosx/*: preliminary fixes for the vout4 port.
      
         Notes on the *_Probe eradication:
        o I probably broke the DirectX video output, because of the "must init and
          run in the same thread" issue. I'll fix this ASAP.
        o Subtitles are broken (or at least, pretty ugly) in RGB mode.
        o The input plugins still have *_Probe functions. This will disappear when
          meuuh is finished with the access plugins.
        o The decoder plugins still have *_Probe functions. This is probably not
          going to change, it looks OK to me.
      48cbd8f3
  34. 29 Jan, 2002 1 commit
    • Gildas Bazin's avatar
      · ee87a691
      Gildas Bazin authored
      * Added mstrtime() to module_symbols_t so we can compile the mpeg_vdec
          plugin with TRACE mode enabled.
      ee87a691
  35. 30 Dec, 2001 1 commit
    • Sam Hocevar's avatar
      · cc0f0bb6
      Sam Hocevar authored
      Some heavy changes today:
        * Removed duplicate function checks from configure.in.
        * Added extra magic to Makefile.modules so that the module Makefiles
          are now ridiculously simple. And I mean *simple*. Check it! This will
          make a possible switch to full autoconf/automake a lot easier.
        * Added the vlc version name to the plugin symbols, to be sure we only load
          plugins with the same version number. A nasty consequence is that you
          need to rebuild your tree after midnight if you are using a CVS tree :-)
        * Got rid of modules_export.h by #defining exported functions in the same
          header as their prototype.
        * Added modules_inner.h and other commonly used .h files to common.h so
          there are less and less files to include, and renamed common.h to
          <videolan/vlc.h>.
        * First modifications to the module handling system towards my ultimate
          goal to get rid of the *_Probe functions. Got rid of TestMethod and
          TestCPU, as well as src/misc/tests.c.
        * Wrote the chroma plugin handling functions. No YUV functions have been
          ported yet because it'ls a lot of work, but the core system works, I
          tried it with a naive yv12->rgb16 plugin (which will disappear when the
          real functions are ready).
        * Made a lot of functions in dvd_summary.c one-liners to avoid wasting
          too many output lines.
        * Fixed a segfault in input_dvd.c:DVDInit.
        * Added a fixfiles.sh script in plugins/gtk to be run after Glade has
          generated its C files.
        * Did some work on the KDE interface to make it suck a bit less. It still
          segfaults, but at least it runs and it looks less ugly.
        * RGB SDL rendering works again, though in 16bpp only.
        * Made plugins/vcd/linux_cdrom_tools.c independent of any vlc structure
          so that it'll be easily put in a library. Maybe libdvdcss?
        * Fixed VCD date display.
        * Merged vout_xvideo.c, vout_x11.c and vout_common.c into xcommon.c.
        * Wrote non-Shm XVideo output.
        * Made X11 output work again. Still pretty unstable, only works for 16bpp.
        * Additional french translation in po/fr.po. Any taker for the rest?
        * Fixed a segfault in video_output.c when the allocated pictures were
          not direct buffers.
        * If $DISPLAY isn't set, don't try to run the Gtk+ interface.
        * Replaced 48x48 .xpm images with 32x32 ones to conform to Debian policy
          (Closes Debian bug #126939).
        * Removed the automatic ./configure launch when running `make all' for
          the first time.
      
      Stuff currently more broken than it ought to be:
        * The wall filter. Being fixed.
        * x11 and sdl plugins for depth != 16bpp.
        * Software YUV.
        * gvlc, gnome-vlc, kvlc shortcuts. Use --intf instead for the moment.
      cc0f0bb6
  36. 07 Dec, 2001 1 commit
    • Sam Hocevar's avatar
      · 1b8d106c
      Sam Hocevar authored
        * Fixed a total breakage of decoder plugins introduced by fast_memcpy.
        * Got rid of #include "main.h", included it in common.h instead ; got
          rid of #include "config.h" in most files as well.
      1b8d106c