Git Product home page Git Product logo

c2play's People

Contributors

omniflux avatar othercrashoverride avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

c2play's Issues

how to get frame after decode

hello,i have a question ,how can i receive the frames directly from the decoder and bypass the video post processor ?

MPEG-4 video hang

odroid@odroid64:~/c2play$ ./c2play ../Toy\ Story\ 3\ -\ Trailer\ 3\ 6450_D1.mp4 
added device: /dev/input/event4
added device: /dev/input/event3
added device: /dev/input/mouse0
added device: /dev/input/event2
added device: /dev/input/event1
added device: /dev/input/event0
added device: /dev/input/mice
Device: /dev/input/event4
        bustype=0, vendor=0, product=0, version=0
        name=lircd
InputDevice entering running state.
Device: /dev/input/event3
        bustype=0, vendor=0, product=0, version=0
        name=MCE IR Keyboard/Mouse (meson-ir)
InputDevice entering running state.
Device: /dev/input/mouse0
EVIOCGBIT failed.
Device: /dev/input/event2
        bustype=25, vendor=0, product=0, version=0
        name=meson-ir
InputDevice entering running state.
Device: /dev/input/event1
        bustype=25, vendor=5812, product=1793, version=1
        name=vt-input
InputDevice entering running state.
Device: /dev/input/event0
        bustype=16, vendor=7054, product=3308, version=1
        name=cec_input
InputDevice entering running state.
Device: /dev/input/mice
EVIOCGBIT failed.
Using input device: lircd
Using input device: MCE IR Keyboard/Mouse (meson-ir)
Using input device: meson-ir
Using input device: vt-input
Using input device: cec_input
Could not open /dev/tty0
EGL: major=1, minor=4
EGL: Vendor=ARM
EGL: Version=1.4 Linux-r6p1-01rel0
EGL: ClientAPIs=OpenGL_ES
EGL: Extensions=EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image EGL_ 
EGL: ClientExtensions=EGL_EXT_client_extensions EGL_EXT_platform_base 

Source Metadata:
        key=major_brand, value=isom
        key=minor_version, value=512
        key=compatible_brands, value=mp41
        key=creation_time, value=1970-01-01 00:00:00
        key=encoder, value=PotEncoder
Duration: 149.800000
Streams (count=2):
stream #0 - VIDEO/MPEG4
        w=800 h=480 fps=30.000000(30/1) SAR=(0/1) 
stream #1 - AUDIO/AAC
AmlCodec: amstream version : 2.0
Element (AudioCodec) Flush exited.
Element (AudioSink) Flush exited.
AmlVideoSinkElement: calling base.
Element (VideoSink) Flush exited.
AmlVideoSinkElement: Flush exited.
Element (Source) Flush exited.
Element (VideoSink) ChangeState oldState=0 newState=1.
Element (AudioCodec) ChangeState oldState=0 newState=1.
Element (AudioSink) ChangeState oldState=0 newState=1.
Element (Source) ChangeState oldState=0 newState=1.
AmlVideoSink: ExtraData size=46
AmlVideoSink - VIDEO/MPEG4
        w=800 h=480 fps=30.000000 am_sysinfo.rate=3201 
AmlVideoSinkElement: got marker buffer Marker=2
Header (pkt.size=a916):
00 00 01 b3 00 10 07 00 00 01 b6 10 60 4d 20 5f 
isAnnexB=0
AudioCodecElement: outInfo->SampleRate=44100, outInfo->Channels=2
AlsaAudioSinkElement: isFirstData changed.
SetupAlsa: frameSize=1024
AmlVideoSink: Adjust PTS - pts=0.115033 vpts=0.033333 drift=-0.081700 (-2.451000 frames)
AmlVideoSink: Adjust PTS - pts=0.115644 vpts=0.033333 drift=-0.082311 (-2.469333 frames)
AmlVideoSink: Adjust PTS - pts=0.116278 vpts=0.033333 drift=-0.082944 (-2.488333 frames)
AmlVideoSink: Adjust PTS - pts=0.116911 vpts=0.033333 drift=-0.083578 (-2.507333 frames)
AmlVideoSink: Adjust PTS - pts=0.199456 vpts=0.033333 drift=-0.166122 (-4.983667 frames)
AmlVideoSink: Adjust PTS - pts=0.200089 vpts=0.033333 drift=-0.166756 (-5.002667 frames)
AmlVideoSink: Adjust PTS - pts=0.201222 vpts=0.033333 drift=-0.167889 (-5.036667 frames)
AmlVideoSink: Adjust PTS - pts=0.202311 vpts=0.033333 drift=-0.168978 (-5.069333 frames)
AmlVideoSink: Adjust PTS - pts=0.294489 vpts=0.033333 drift=-0.261156 (-7.834667 frames)
AmlVideoSink: Adjust PTS - pts=0.294933 vpts=0.033333 drift=-0.261600 (-7.848000 frames)
AmlVideoSink: Adjust PTS - pts=0.381600 vpts=0.033333 drift=-0.348267 (-10.448000 frames)
AmlVideoSink: Adjust PTS - pts=0.381922 vpts=0.033333 drift=-0.348589 (-10.457667 frames)
AmlVideoSink: Adjust PTS - pts=0.499967 vpts=0.033333 drift=-0.466633 (-13.999000 frames)
AmlVideoSink: Adjust PTS - pts=0.500289 vpts=0.033333 drift=-0.466956 (-14.008667 frames)
AmlVideoSink: Adjust PTS - pts=0.500811 vpts=0.033333 drift=-0.467478 (-14.024333 frames)
AmlVideoSink: Adjust PTS - pts=0.610067 vpts=0.033333 drift=-0.576733 (-17.302000 frames)
AmlVideoSink: Adjust PTS - pts=0.610400 vpts=0.033333 drift=-0.577067 (-17.312000 frames)
AmlVideoSink: Adjust PTS - pts=0.610789 vpts=0.033333 drift=-0.577456 (-17.323667 frames)
AmlVideoSink: Adjust PTS - pts=0.731356 vpts=0.033333 drift=-0.698022 (-20.940667 frames)
AmlVideoSink: Adjust PTS - pts=0.731744 vpts=0.033333 drift=-0.698411 (-20.952333 frames)
AmlVideoSink: Adjust PTS - pts=0.732056 vpts=0.033333 drift=-0.698722 (-20.961667 frames)
AmlVideoSink: Adjust PTS - pts=0.732333 vpts=0.033333 drift=-0.699000 (-20.970000 frames)
AmlVideoSink: Adjust PTS - pts=0.732467 vpts=0.033333 drift=-0.699133 (-20.974000 frames)
AmlVideoSink: Adjust PTS - pts=0.822833 vpts=0.033333 drift=-0.789500 (-23.685000 frames)
AmlVideoSink: Adjust PTS - pts=0.823211 vpts=0.033333 drift=-0.789878 (-23.696333 frames)
AmlVideoSink: Adjust PTS - pts=0.823422 vpts=0.033333 drift=-0.790089 (-23.702667 frames)
AmlVideoSink: Adjust PTS - pts=0.823578 vpts=0.033333 drift=-0.790244 (-23.707333 frames)
AmlVideoSink: Adjust PTS - pts=0.914600 vpts=0.033333 drift=-0.881267 (-26.438000 frames)
AmlVideoSink: Adjust PTS - pts=0.914822 vpts=0.033333 drift=-0.881489 (-26.444667 frames)
AmlVideoSink: Adjust PTS - pts=0.914956 vpts=0.033333 drift=-0.881622 (-26.448667 frames)
AmlVideoSink: Adjust PTS - pts=0.915122 vpts=0.033333 drift=-0.881789 (-26.453667 frames)
brian@brian-desktop:/media/hdd$ mediainfo Toy\ Story\ 3\ -\ Trailer\ 3\ 6450_D1.mp4 
General
Complete name                            : Toy Story 3 - Trailer 3 6450_D1.mp4
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom (mp41)
File size                                : 63.8 MiB
Duration                                 : 2mn 29s
Overall bit rate mode                    : Variable
Overall bit rate                         : 3 572 Kbps
Encoded date                             : UTC 1970-01-01 00:00:00
Tagged date                              : UTC 1970-01-01 00:00:00
Writing application                      : PotEncoder

Video
ID                                       : 1
Format                                   : MPEG-4 Visual
Format profile                           : Simple@L1
Format settings, BVOP                    : No
Format settings, QPel                    : No
Format settings, GMC                     : No warppoints
Format settings, Matrix                  : Default (H.263)
Codec ID                                 : 20
Duration                                 : 2mn 29s
Bit rate                                 : 3 469 Kbps
Width                                    : 800 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 5:3
Frame rate mode                          : Constant
Frame rate                               : 30.000 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.301
Stream size                              : 62.0 MiB (97%)
Writing library                          : Lavc52.108.0
Encoded date                             : UTC 1970-01-01 00:00:00
Tagged date                              : UTC 1970-01-01 00:00:00

Audio
ID                                       : 2
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : LC
Codec ID                                 : 40
Duration                                 : 2mn 29s
Bit rate mode                            : Variable
Bit rate                                 : 96.0 Kbps
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 44.1 KHz
Frame rate                               : 43.066 fps (1024 spf)
Compression mode                         : Lossy
Stream size                              : 1.74 MiB (3%)
Encoded date                             : UTC 1970-01-01 00:00:00
Tagged date                              : UTC 1970-01-01 00:00:00

This media file's available download link is here.

c2play don't display on ODROID-C2

odroid@odroid64:~/c2play$ ./c2play ../jupiterascending_trl_f6_tr_sub_25_1080p.mp4
added device: /dev/input/event6
added device: /dev/input/event5
added device: /dev/input/mouse1
added device: /dev/input/event4
added device: /dev/input/event3
added device: /dev/input/mouse0
added device: /dev/input/event2
added device: /dev/input/event1
added device: /dev/input/event0
added device: /dev/input/mice
Device: /dev/input/event6
        bustype=0, vendor=0, product=0, version=0
        name=lircd
InputDevice entering running state.
Device: /dev/input/event5
        bustype=0, vendor=0, product=0, version=0
        name=MCE IR Keyboard/Mouse (meson-ir)
InputDevice entering running state.
Device: /dev/input/mouse1
EVIOCGBIT failed.
Device: /dev/input/event4
        bustype=25, vendor=0, product=0, version=0
        name=meson-ir
InputDevice entering running state.
Device: /dev/input/event3
        bustype=3, vendor=1133, product=50475, version=273
        name=Logitech USB Receiver
InputDevice entering running state.
Device: /dev/input/mouse0
EVIOCGBIT failed.
Device: /dev/input/event2
        bustype=3, vendor=1133, product=50475, version=273
        name=Logitech USB Receiver
InputDevice entering running state.
Device: /dev/input/event1
        bustype=25, vendor=5812, product=1793, version=1
        name=vt-input
InputDevice entering running state.
Device: /dev/input/event0
        bustype=16, vendor=7054, product=3308, version=1
        name=cec_input
InputDevice entering running state.
Device: /dev/input/mice
EVIOCGBIT failed.
Using input device: lircd
Using input device: MCE IR Keyboard/Mouse (meson-ir)
Using input device: meson-ir
Using input device: Logitech USB Receiver
Using input device: Logitech USB Receiver
Using input device: vt-input
Using input device: cec_input
Could not open /dev/tty0
Invalid MIT-MAGIC-COOKIE-1 keyeglGetDisplay failed.

terminate called after throwing an instance of 'Exception'
Aborted

c2play framebuffer version doesn't work for any media files.

alpha3 won't play anything

No matter what I try to play, I get:

EGL: major=1, minor=4
EGL: Vendor=ARM
EGL: Version=1.4 Linux-r6p1-01rel0
EGL: ClientAPIs=OpenGL_ES
EGL: Extensions=EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_reusable_sync EGL_KHR_fence_sync EGL_KHR_lock_surface EGL_KHR_lock_surface2 EGL_EXT_create_context_robustness EGL_ANDROID_blob_cache EGL_KHR_create_context EGL_KHR_partial_update EGL_KHR_create_context_no_error
EGL: ClientExtensions=EGL_EXT_client_extensions EGL_EXT_platform_base

eglGetError failed: 0x3003
terminate called after throwing an instance of 'Exception'
Aborted

[S805] Video and audio are out of sync when playing http stream

First of all, great work!

I have an MXQ box with S805 and I have managed to successfully build and run the player on it. It plays video files without any problems. However, when I try to play an http stream, I get a lot of these messages:

AmlVideoSink: Adjust PTS - pts=12475.939744 vpts=12476.829989 drift=0.890244 (44.512222 frames)

and no video is played. I have tried to comment line 84 (codecPTR->SetCurrentPts) in AmlVideoSink.h but then audio and video are out of sync (~1sec.). Could you give me any pointers how to fix this? This is the full log:

https://pastebin.com/9SJCu1AL

Thanks!

volume up/down support ?

I tried to integrate volume up/down support with no success.
alsamixer seems to have no effect even using the command line.

The only thing I have found that could control the sound is /sys/class/amaudio, I could control the mute/unmute but not the volume.

Thanks,

Support playback from an audio stream passed as a command line argument

Here's the problem. If you want to play youtube content higher than 720p you will have a video-only stream and an audio-only stream returned by youtube-dl:

adrianp@frost:~$ youtube-dl --list-formats https://www.youtube.com/watch?v=2b9txcAt4e0
[youtube] 2b9txcAt4e0: Downloading webpage
[youtube] 2b9txcAt4e0: Downloading video info webpage
[youtube] 2b9txcAt4e0: Extracting video information
[youtube] 2b9txcAt4e0: Downloading MPD manifest
[info] Available formats for 2b9txcAt4e0:
format code extension resolution note
249 webm audio only DASH audio 58k , opus @ 50k (48000Hz), 4.68MiB
250 webm audio only DASH audio 87k , opus @ 70k (48000Hz), 6.67MiB
140 m4a audio only DASH audio 128k , m4a_dash container, mp4a.40.2@128k (44100Hz), 10.96MiB
171 webm audio only DASH audio 132k , vorbis@128k (44100Hz), 10.52MiB
251 webm audio only DASH audio 168k , opus @160k (48000Hz), 13.04MiB
160 mp4 256x144 DASH video 115k , avc1.4d400c, 30fps, video only, 9.50MiB
278 webm 256x144 DASH video 126k , webm container, vp9, 30fps, video only, 7.88MiB
133 mp4 426x240 DASH video 261k , avc1.4d4015, 30fps, video only, 21.16MiB
242 webm 426x240 DASH video 288k , vp9, 30fps, video only, 18.02MiB
243 webm 640x360 DASH video 572k , vp9, 30fps, video only, 35.15MiB
134 mp4 640x360 DASH video 646k , avc1.4d401e, 30fps, video only, 44.23MiB
244 webm 854x480 DASH video 1068k , vp9, 30fps, video only, 66.07MiB
135 mp4 854x480 DASH video 1226k , avc1.4d401f, 30fps, video only, 90.55MiB
247 webm 1280x720 DASH video 2008k , vp9, 30fps, video only, 130.70MiB
136 mp4 1280x720 DASH video 2469k , avc1.4d401f, 30fps, video only, 185.87MiB
248 webm 1920x1080 DASH video 4160k , vp9, 30fps, video only, 238.54MiB
137 mp4 1920x1080 DASH video 4833k , avc1.640028, 30fps, video only, 353.80MiB
264 mp4 2560x1440 DASH video 11109k , avc1.640032, 30fps, video only, 858.77MiB
271 webm 2560x1440 DASH video 22840k , vp9, 30fps, video only, 839.74MiB
266 mp4 3840x2160 DASH video 23781k , avc1.640033, 30fps, video only, 1.79GiB
313 webm 3840x2160 DASH video 41369k , vp9, 30fps, video only, 1.61GiB
36 3gp 320x? small , mp4v.20.3, mp4a.40.2
17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k
43 webm 640x360 medium , vp8.0, vorbis@128k
18 mp4 640x360 medium , avc1.42001E, mp4a.40.2@ 96k
22 mp4 1280x720 hd720 , avc1.64001F, mp4a.40.2@192k (best)

It would be nice if a client could feed a video URL (such as the one returned by format 264) followed by an audio URL (such as 140) and the player could play them together. (For me playing the DASH video with your player crashes X11 and also MALI, so it may not be an option - https://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over_HTTP)

I realize that it will be problematic to play from two network streams (you'll have to use threads and synchronization). If you feel there's a better approach (e.g. use ffmpeg to mux them and playing from STDIN), let me know.

Variable renderContext size

Hi There
I am using c2play with an Odroid N2 with Linux 18.04.02 Minimal. The output medium is a 10" screen with a resolution of 1280x800. (There are no 16:9 proportions for small monitors.) On which I would like to play a video full screen, meaning filling all 1280x800 pixels without any letterboxing or black stripes.

Playing a 1280x720 (or 1920x1080) video understandably produces a black stripe above and below the video. Playing a 1280x800 video, which ideally would fill the entire screen, additionally produces a black stripe left and right of the video.

If one would want to add an argument for the output surface size, how would that be done easiest?
In /src/main.cpp on line 370 there is
CompositorSPTR compositor = std::make_shared<Compositor>(renderContext, 1920, 1080);
Would it be enough to replace the hard coded renderContext width=1920 and height=1080 with variables?
Thank you

While make c2play

c2play 1.0.0 Patching
c2play 1.0.0 Configuring
c2play 1.0.0 Building
PATH="/home/shikha/buildroot.old/output/host/bin:/home/shikha/buildroot.old/output/host/sbin:/home/shikha/buildroot.old/output/host/usr/bin:/home/shikha/buildroot.old/output/host/usr/sbin:/home/jemish/bin:/home/jemish/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/jemish/Downloads/gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu/bin:/home/jemish/workspace/lu500/CodeSourcery/arm-2009q1/bin" /usr/bin/make -j5 CC=/home/shikha/buildroot.old/output/host/usr/bin/aarch64-linux-gnu-g++ CXX=/home/shikha/buildroot.old/output/host/usr/bin/aarch64-linux-gnu-g++ -C /home/shikha/buildroot.old/output/build/c2play-1.0.0 c2play
==== Building c2play (debug) ====
Creating obj/Debug/c2play
main.cpp
Image.cpp
Buffer.cpp
Mutex.cpp
AmlCodec.cpp
MediaPlayer.cpp
In file included from ../../src/Media/Buffer.cpp:17:0:
../../src/Media/Buffer.h: In destructor ‘virtual AVPacketBuffer::~AVPacketBuffer()’:
../../src/Media/Buffer.h:429:3: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h:429:23: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h: In member function ‘void AVPacketBuffer::Reset()’:
../../src/Media/Buffer.h:465:3: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h:465:23: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
In file included from ../../src/Media/Codec.h:32:0,
from ../../src/Media/Pin.h:19,
from ../../src/Media/AmlCodec.h:26,
from ../../src/Media/AmlCodec.cpp:17:
../../src/Media/Buffer.h: In destructor ‘virtual AVPacketBuffer::~AVPacketBuffer()’:
../../src/Media/Buffer.h:429:3: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h:429:23: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h: In member function ‘void AVPacketBuffer::Reset()’:
../../src/Media/Buffer.h:465:3: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h:465:23: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
MediaSourceElement.cpp
AudioCodec.cpp
In file included from ../../src/Media/Codec.h:32:0,
from ../../src/Media/MediaSourceElement.h:19,
from ../../src/Media/MediaPlayer.h:19,
from ../../src/main.cpp:39:
../../src/Media/Buffer.h: In destructor ‘virtual AVPacketBuffer::~AVPacketBuffer()’:
../../src/Media/Buffer.h:429:3: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h:429:23: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h: In member function ‘void AVPacketBuffer::Reset()’:
../../src/Media/Buffer.h:465:3: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h:465:23: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
In file included from ../../src/Media/Codec.h:32:0,
from ../../src/Media/MediaSourceElement.h:19,
from ../../src/Media/MediaPlayer.h:19,
from ../../src/Media/MediaPlayer.cpp:17:
../../src/Media/Buffer.h: In destructor ‘virtual AVPacketBuffer::~AVPacketBuffer()’:
../../src/Media/Buffer.h:429:3: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h:429:23: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h: In member function ‘void AVPacketBuffer::Reset()’:
../../src/Media/Buffer.h:465:3: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h:465:23: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
Thread.cpp
In file included from ../../src/Media/Codec.h:32:0,
from ../../src/Media/AudioCodec.h:25,
from ../../src/Media/AudioCodec.cpp:17:
../../src/Media/Buffer.h: In destructor ‘virtual AVPacketBuffer::~AVPacketBuffer()’:
../../src/Media/Buffer.h:429:3: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h:429:23: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h: In member function ‘void AVPacketBuffer::Reset()’:
../../src/Media/Buffer.h:465:3: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h:465:23: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
In file included from ../../src/Media/Codec.h:32:0,
from ../../src/Media/MediaSourceElement.h:19,
from ../../src/Media/MediaSourceElement.cpp:17:
../../src/Media/Buffer.h: In destructor ‘virtual AVPacketBuffer::~AVPacketBuffer()’:
../../src/Media/Buffer.h:429:3: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h:429:23: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h: In member function ‘void AVPacketBuffer::Reset()’:
../../src/Media/Buffer.h:465:3: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h:465:23: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/main.cpp: In function ‘int main(int, char**)’:
../../src/main.cpp:341:2: warning: ‘void av_register_all()’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavformat/avformat.h:2050) [-Wdeprecated-declarations]
av_register_all();
^
../../src/main.cpp:341:18: warning: ‘void av_register_all()’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavformat/avformat.h:2050) [-Wdeprecated-declarations]
av_register_all();
^
LockedQueue.cpp
../../src/Media/MediaSourceElement.cpp: In member function ‘void MediaSourceElement::SetupPins()’:
../../src/Media/MediaSourceElement.cpp:107:44: warning: ‘AVStream::codec’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavformat/avformat.h:885) [-Wdeprecated-declarations]
AVCodecContext* codecCtxPtr = streamPtr->codec;
^
../../src/Media/MediaSourceElement.cpp:107:44: warning: ‘AVStream::codec’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavformat/avformat.h:885) [-Wdeprecated-declarations]
../../src/Media/MediaSourceElement.cpp:163:11: error: ‘CODEC_ID_MPEG2VIDEO’ was not declared in this scope
case CODEC_ID_MPEG2VIDEO:
^
../../src/Media/MediaSourceElement.cpp:175:11: error: ‘CODEC_ID_MPEG4’ was not declared in this scope
case CODEC_ID_MPEG4:
^
../../src/Media/MediaSourceElement.cpp:181:11: error: ‘CODEC_ID_H264’ was not declared in this scope
case CODEC_ID_H264:
^
../../src/Media/MediaSourceElement.cpp:194:11: error: ‘CODEC_ID_VC1’ was not declared in this scope
case CODEC_ID_VC1:
^
../../src/Media/MediaSourceElement.cpp:245:11: error: ‘CODEC_ID_MP2’ was not declared in this scope
case CODEC_ID_MP2:
^
../../src/Media/MediaSourceElement.cpp:251:11: error: ‘CODEC_ID_MP3’ was not declared in this scope
case CODEC_ID_MP3:
^
../../src/Media/MediaSourceElement.cpp:257:11: error: ‘CODEC_ID_AAC’ was not declared in this scope
case CODEC_ID_AAC:
^
../../src/Media/MediaSourceElement.cpp:263:11: error: ‘CODEC_ID_AC3’ was not declared in this scope
case CODEC_ID_AC3:
^
../../src/Media/MediaSourceElement.cpp:269:11: error: ‘CODEC_ID_DTS’ was not declared in this scope
case CODEC_ID_DTS:
^
../../src/Media/MediaSourceElement.cpp:346:12: error: ‘CODEC_ID_HDMV_PGS_SUBTITLE’ was not declared in this scope
case CODEC_ID_HDMV_PGS_SUBTITLE:
^
../../src/Media/MediaSourceElement.cpp:351:12: error: ‘CODEC_ID_DVB_SUBTITLE’ was not declared in this scope
case CODEC_ID_DVB_SUBTITLE:
^
../../src/Media/MediaSourceElement.cpp:356:12: error: ‘CODEC_ID_TEXT’ was not declared in this scope
case CODEC_ID_TEXT:
^
../../src/Media/MediaSourceElement.cpp:361:12: error: ‘CODEC_ID_XSUB’ was not declared in this scope
case CODEC_ID_XSUB:
^
../../src/Media/MediaSourceElement.cpp:365:12: error: ‘CODEC_ID_SSA’ was not declared in this scope
case CODEC_ID_SSA:
^
../../src/Media/MediaSourceElement.cpp:369:12: error: ‘CODEC_ID_MOV_TEXT’ was not declared in this scope
case CODEC_ID_MOV_TEXT:
^
../../src/Media/MediaSourceElement.cpp:374:12: error: ‘CODEC_ID_DVB_TELETEXT’ was not declared in this scope
case CODEC_ID_DVB_TELETEXT:
^
../../src/Media/MediaSourceElement.cpp:379:12: error: ‘CODEC_ID_SRT’ was not declared in this scope
case CODEC_ID_SRT:
^
../../src/Media/AudioCodec.cpp: In member function ‘void AudioCodecElement::ProcessBuffer(AVPacketBufferSPTR, AVFrameBufferSPTR)’:
../../src/Media/AudioCodec.cpp:128:13: warning: ‘int avcodec_decode_audio4(AVCodecContext*, AVFrame*, int*, const AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4779) [-Wdeprecated-declarations]
int len = avcodec_decode_audio4(soundCodecContext,
^
../../src/Media/AudioCodec.cpp:131:7: warning: ‘int avcodec_decode_audio4(AVCodecContext*, AVFrame*, int*, const AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4779) [-Wdeprecated-declarations]
pkt);
^
../../src/Media/AudioCodec.cpp:209:6: warning: ‘int64_t av_frame_get_best_effort_timestamp(const AVFrame*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavutil/frame.h:683) [-Wdeprecated-declarations]
av_frame_get_best_effort_timestamp(frame->GetAVFrame()) *
^
../../src/Media/AudioCodec.cpp:209:60: warning: ‘int64_t av_frame_get_best_effort_timestamp(const AVFrame*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavutil/frame.h:683) [-Wdeprecated-declarations]
av_frame_get_best_effort_timestamp(frame->GetAVFrame()) *
^
Codec.cpp
AmlVideoSink.cpp
c2play.make:181: recipe for target 'obj/Debug/c2play/MediaSourceElement.o' failed
make[3]: *** [obj/Debug/c2play/MediaSourceElement.o] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from ../../src/Media/Codec.h:32:0,
from ../../src/Media/AmlVideoSink.h:27,
from ../../src/Media/AmlVideoSink.cpp:17:
../../src/Media/Buffer.h: In destructor ‘virtual AVPacketBuffer::~AVPacketBuffer()’:
../../src/Media/Buffer.h:429:3: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h:429:23: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h: In member function ‘void AVPacketBuffer::Reset()’:
../../src/Media/Buffer.h:465:3: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
../../src/Media/Buffer.h:465:23: warning: ‘void av_free_packet(AVPacket*)’ is deprecated (declared at /home/shikha/buildroot.old/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/libavcodec/avcodec.h:4473) [-Wdeprecated-declarations]
av_free_packet(avpkt);
^
Makefile:16: recipe for target 'c2play' failed
make[2]: *** [c2play] Error 2
package/pkg-generic.mk:195: recipe for target '/home/shikha/buildroot.old/output/build/c2play-1.0.0/.stamp_built' failed
make[1]: *** [/home/shikha/buildroot.old/output/build/c2play-1.0.0/.stamp_built] Error 2
Makefile:36: recipe for target '_all' failed
make: *** [_all] Error 2

Gapless looping

Is it possible to achieve looping without the flash of a black screen when replaying a video?

After seek with keyboard problem

Hi,

after seek with right arrow of keyboard the video resume to play until reach 1 or 2 seconds before end and it not finishing, Do you know about it?

../../src/Media/MediaSourceElement.cpp:163:11: error: 'CODEC_ID_MPEG2VIDEO' was not declared in this scope case CODEC_ID_MPEG2VIDEO:

../../src/Media/MediaSourceElement.cpp:163:11: error: 'CODEC_ID_MPEG2VIDEO' was not declared in this scope
case CODEC_ID_MPEG2VIDEO:
^~~~~~~~~~~~~~~~~~~
../../src/Media/MediaSourceElement.cpp:163:11: note: suggested alternative: 'AV_CODEC_ID_MPEG2VIDEO'
case CODEC_ID_MPEG2VIDEO:
^~~~~~~~~~~~~~~~~~~
AV_CODEC_ID_MPEG2VIDEO
../../src/Media/MediaSourceElement.cpp:175:11: error: 'CODEC_ID_MPEG4' was not declared in this scope
case CODEC_ID_MPEG4:
^~~~~~~~~~~~~~
../../src/Media/MediaSourceElement.cpp:175:11: note: suggested alternative: 'AV_CODEC_ID_MPEG4'
case CODEC_ID_MPEG4:
^~~~~~~~~~~~~~
AV_CODEC_ID_MPEG4
../../src/Media/MediaSourceElement.cpp:181:11: error: 'CODEC_ID_H264' was not declared in this scope
case CODEC_ID_H264:

Compilation error c2play-x11

When i run this command :(make c2play-x11) i get the following message:

==== Building c2play-x11 (debug) ====
main.cpp
In file included from ../../src/Media/MediaPlayer.h:23:0,
from ../../src/main.cpp:39:
../../src/Media/SubtitleCodecElement.h:25:21: fatal error: ass/ass.h: No such file or directory
compilation terminated.
c2play-x11.make:163: recipe for target 'obj/Debug/c2play-x11/main.o' failed
make[1]: *** [obj/Debug/c2play-x11/main.o] Error 1
Makefile:20: recipe for target 'c2play-x11' failed
make: *** [c2play-x11] Error 2

what is going wrong?
Thank you in advance.

.stamp_host_installed failed

While I make the buildroot for ODROID-C2 I get an error like
make[13]: Nothing to be done for 'install-data-am'.
cd ..../output/host/bin && ln -snf aarch64-buildroot-linux-gnu-gdb aarch64-linux-gdb
/bin/bash: line 0: cd: .../output/host/bin: No such file or directory
package/pkg-generic.mk:205: recipe for target '..../output/build/host-gdb-8.2.1/.stamp_host_installed' failed
make[1]: *** [..../output/build/host-gdb-8.2.1/.stamp_host_installed] Error 1
Makefile:36: recipe for target '_all' failed
make: *** [_all] Error 2

Output delay after start of decoding

Hello! Found the save issue as inside hello_videocube After sending h264 bitstream to decoder, we get result on a screen after 100-200ms delay. Then the delay between sending data to decoder and otput to screen is about 30 frames (tested with 2k resolution). Is it a bug or a feature? Can I reduce this latency? Is there any tune up features in amlcodec to get zero-buffering? Is there any way to get 1encodedFrameIn=>1decodedFrameOnScreen?
Thnk you!

p.s. This issue is also observerd in
Odroid C2 forum post#1
Odroid C2 forum post#2

subtitle multiplication

Sometimes after hitting the left arrow key to go back, subtitles will be doubled or tripled for some time.

fatal error: alsa/asoundlib.h: No such file or directory

odroid@odroid:~/ivis-codec/c2play$ make
==== Building c2play (debug) ====
Creating obj/Debug/c2play
main.cpp
../../src/main.cpp:24:10: fatal error: alsa/asoundlib.h: No such file or directory
#include <alsa/asoundlib.h>
^~~~~~~~~~~~~~~~~~
compilation terminated.
c2play.make:163: recipe for target 'obj/Debug/c2play/main.o' failed
make[1]: *** [obj/Debug/c2play/main.o] Error 1
Makefile:16: recipe for target 'c2play' failed
make: *** [c2play] Error 2

Sample MP4 file in readme.

Can you add a link to Mp4 file (in readme) which you were able to play on Odroid C2 this shall help to reproduce the results. As there is so much content on internet due to differences in encoding it becomes difficult to conclude. I am unable to play MP4 (AVC) with latest code on Odroid C2.

Looping a video results in blank screen

Am having a problem where I am trying to loop a video indefinitely in a kiosk style setting. After an indeterminate time it stalls in a blank screen. I compiled the next branch for fbdev and run on standard ubuntu headless odroid distro. The video is h264 in an mp4 container. Any ideas? Could it be a non standard codec setting perhaps? What is the preferred codec setting for c2play? Thanks!

Open and close c2play often

Hi, I am a heavy raspberry-omxplayer user and I would like to try to test odroid c-2.
On the raspberry the cli video player (omxplayer) is needing 0.1 seconds to open after closing it what about the timing of c2play with ubuntu or ubuntu core on odroid-c2?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.