-1

I've tried to modify the below file from vlc codebase, but its not affecting on the final executable binary.(I didnt see my newly introduced prints & changes if i invoke the vlc binary. But this file is compiling properly.)

    **vlc/modules/codec/telx.c**

Could you please guide me the steps ? should i copy the corresponding library into somewhere & build the vlc elf again ?

Steps followed to compile:

  1. export PKG_CONFIG_LIBDIR=/home/xxx/Projects/vlc_git_src/vlc/contrib/x86_64-linux-gnu/lib/pkgconfig
  2. export PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/lib64
  3. ./bootstrap
  4. ./configure
  5. make
  6. ./vlc

After modifying my local change i will do only make & execute the elf.

Anbu Raj
  • 21
  • 3
  • Please explain any and all steps you did to create your "final executable binary" after modifying the source code file. – Daniel B Feb 03 '22 at 08:48
  • @Daniel B Steps followed to compile: # export PKG_CONFIG_LIBDIR=/home/anburaj/Projects/vlc_git_src/vlc/contrib/x86_64-linux-gnu/lib/pkgconfig # export PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/lib64 # ./bootstrap #./configure # make # ./vlc After modifying my local change i will do only make & execute the elf. – Anbu Raj Feb 03 '22 at 09:23
  • Please add this information to your question. // When recompiling after changes, did you confirm that _make_ does pick up the changes and recompiles the code and everything dependent on it? – Daniel B Feb 03 '22 at 10:26
  • Thanks. Updated. Yes, if i put #err on that file then compilation got stopped. So, i can say that my changes are there. – Anbu Raj Feb 03 '22 at 10:45
  • I can see my symbol(anburaj) here, # nm modules/.libs/libtelx_plugin.so 0000000000003360 t anburaj U __assert_fail@@GLIBC_2.2.5 U block_Release – Anbu Raj Feb 03 '22 at 12:37
  • Sounds great. You could use `strace` to see if VLC is indeed loading the plugin library from that file or perhaps from elsewhere. – Daniel B Feb 04 '22 at 09:14
  • Thank you. Found the solution. We should mention/pass the corresponding module name while executing the vlc elf. *** # ./vlc --codec avcodec,telx *** with this now its referring my compiled .so file and could see my changes at runtime.. Reference: https://wiki.videolan.org/Documentation:VLC_Modules_Loading/ – Anbu Raj Feb 07 '22 at 10:06
  • 1
    Glad to hear you found a solution. Make sure to add it as an answer below! You can then accept your own answer after 24 hours or so. – Daniel B Feb 07 '22 at 11:45

1 Answers1

1

We have to pass the module details while executing vlc elf like below,

 ./vlc --codec avcodec,telx

By default VLC will refer the caching module info while running. If you want to include your latest modified module/code then follow the above options. It works.

Anbu Raj
  • 21
  • 3