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

Rewrite blank_background #222

Open
wants to merge 400 commits into
base: master
Choose a base branch
from
Open

Rewrite blank_background #222

wants to merge 400 commits into from

Conversation

fcarlier
Copy link

@fcarlier fcarlier commented Aug 1, 2014

New blank_background version permit to introduce mute video
popcornmix#66

fcarlier@d89ea34
fcarlier@667f8d7

popcornmix and others added 30 commits January 16, 2014 10:01
Change --pos format to hh:mm:ss
…Previously JPEG art was being interpreted as MJPEG video, causing problems.
$(MAKE) will always be set to the make thats running this makefile, so if it happens to be named differently, it still works
+ allows the job server, so if the user happens to make -j10 while using distcc on an array of pi's, it works right
-C ffmpeg does the same thing as cd ffmpeg

change the CC and CXX variables to reference gcc 4.7 directly, rather then forcibly change the symlinks
 improve the build process under native pi
* Implemented SetPosition in D-Bus, this allows external programs to jump to a specific position
* Fixed Seek so that it obeys the passed relative seek value, as per MPRIS
* Added Position and Duration properties which return the current position and media duration in microseconds
* fixed some overflow errors by using int64_t instead of long, position was wrapping at around 31 minutes
* A little extra debug logging for D-Bus method calls, useful when trying to determine why it's not responding to a method
* Added a sample D-Bus control shell script
* Explicitly specify KeyConfig enum constants, in case external programs depend on them
* Changed D-Bus session handing so a single dbus-daemon is started the first time omxplayer starts, and continues running forever
* Added argument --dbus_name to override the default org.mpris.MediaPlayer2.omxplayer
Single-Session D-Bus / D-Bus control fixes
Updated D-Bus interface to be more in-line with MPRIS specs.
Added more DBUS controls and documentation.
VideoPos - change on-screen video position/resize
HideVideo - hide video layer
UnHideVideo - restore video layer
dbuscontrol.sh - updated with example usage
Add additional D-BUS commands
Using fresh 2014-01-07-wheezy-raspbian.img, otherwise make ffmpeg fails.
libssl-dev required for native build
If --live flag set, stop stream completely on hide_video and reopen on unhide_video. This prevents the stream being cache which is desirable behaviour for a live stream.
Stop live stream on hidevideo
Introduced an idle flag that will bypass processing and invoke a sleep state in the main loop, if we know for sure that nothing needs to be done. Reduces CPU usage from ~3% to ~1.3% on hidevideo.
…er use of audio fifo

Some audio codecs produce small packets which causes a high overhead when submitting to GPU, and doesn't make full use of GPU side buffering.
TrueHD in particular can produce packets with 40 samples (so 1200 packets per second) which causes very high overhead.

What this aims to do is to concatenate audio packets until they approach the ideal audio packet size,
and then deal with the awkardness of concatenated planar formats.
Fixes issue with streams hanging when network connection is lost
Added --layer n to command line. This changes the video rendering layer to the selected value. The background layer, if turned on, is set to the selected value -1. The subtitle layer is set to the selected value +1.
popcornmix and others added 30 commits September 17, 2016 15:11
Add libasound2-dev as required package
This causes issues with out of sync audio after packet loss with live tv
See: http://forum.kodi.tv/showthread.php?tid=269814&pid=2412025
Subtitle scaling with video size

With this change subtitles and status texts are resized to scale and moved to follow video, when omxplayer is started with the --win option or is resized via dbus setvideopos command.
Previous behavior was: when video was resized, subtitles stayed the same size, as if the video was still in fullscreen.

This is particularly useful in windowed GUI omxplayer wrappers such as KenT2/tboplayer
Neither Subtitles nor OSD text messages are shown in full screen.
* fixes for building in Stretch

* another required change or the build fails

* tidy up dependency

* use 4 threads to compile and save time

* use CPU core count for threads instead of hard-coding it to 4

* removed wrong -j flag for making ffmpeg

* multi core compiling for ffmpeg

* makefile: Remove broken cross compile support

* no longer patch Makefiles before compiling
…ving to blank screen

Note: Requires updated firmware
So, the problem is that SubmitEOS is called when demuxer reaches end of file, but not all the encoded frames have been submitted to decoder.

m_packets may contain dozens of encoded frames of data at the point SubmitEOS is called. We want those to all be submitted to decoder before the SubmitEOS is called.
This change updates the gpl mailing address to the current one [1], which fixes the following warning from rpmlint:
```
omxplayer.armv7hl: W: spurious-executable-perm /usr/share/man/man1/omxplayer.1.gz
```
[1] https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
On Raspberry Pi's without a desktop, the following non-fatal error messages appear when starting omxplayer:

```
/usr/bin/omxplayer: line 25: which: command not found
/usr/bin/omxplayer: line 26: which: command not found
/usr/bin/omxplayer: line 27: which: command not found
```

These errors are a result of the `which` command failing to find the fbset, xset, and xrefresh binaries, which are only present when running xserver.

One way to avoid seeing the error message is to use `type -p` rather than `which`. Alternatively one could just pipe stderror to /dev/null. I chose the former, but either way works fine.
sscanf returns the number of elements read, and the check
wasn't inserting any parameters into the format string.

If  no parameter is provided, do a strcmp instead.
They also use VG rendering which isn't available if either
of those conditions is true.
* README: emphasize no xorg required

This is precisely what makes omxplayer unique and valuable.

* README: revise intro for accuracy

Also: further target beginners by providing links to explain acronyms.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.